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 处停止递增。但是此数字不是固定的,并且可能因系统配置而异。

更新于: 2020年8月17日

148 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告