C++ 系统可处理的最大僵尸进程数
给定任务是找到系统可以处理的最大僵尸进程数,或者换句话说,程序不会停止执行。
僵尸进程(也称为失效进程)是指已通过 exit()(系统调用)完成其进程但仍在进程表中具有条目的进程。
下面程序中使用的方案如下
请注意,为了运行程序,应添加 <unistd.h>。
在 main() 函数中初始化类型为 int 的 num = 0,我们将对其进行迭代直到程序停止执行。
要启动僵尸进程,请创建带有条件 while( fork() > 0 ) 的 while 语句。
Fork() 系统调用用于启动一个称为子进程的新进程,该进程并发运行并进行 fork() 调用(即父进程)。
在 while 循环内递增 num 并打印它。
示例
#include<iostream> #include<unistd.h> using namespace std; int main(){ int num = 0; while (fork() > 0){ num++; cout<<num<<" "; } }
输出
如果我们运行以上代码,我们将获得以下输出:
在以上输出中,num 在 93 处停止递增。但是此数字不是固定的,并且可能因系统配置而异。
广告