Unix fork:创建了多少个进程?

时间:2014-01-24 03:30:58

标签: c unix operating-system fork

您好我正在练习操作系统概念第9版第3章,有一个"创建了多少个进程,包括父进程?"问题令我困惑。代码在C中使用Unix系统调用,fork():

#include <stdio.h>
#include <unistd.h>

int main(){

fork();
fork();
fork();

return 0;
}

任何好友如何回答这个问题?感谢

3 个答案:

答案 0 :(得分:2)

fork(); 

1st fork从运行进程(main)创建了新进程。在系统现在有两个过程

fork();

每个进程再次调用fork。因此创建了两个新流程。所以现在系统中总共有四个进程

fork();

现在每个进程调用fork。所以再创造了四个新流程。所以在最后一次调用fork();

之后创建了总共八个进程

答案 1 :(得分:0)

我猜它是8,就像1 - &gt; 2 - &gt; 4 - &gt; 8

答案 2 :(得分:0)

共有8个流程,其中包括父流程。 在这里,Number of processes using fork()