嗨,我正在做操作系统概念练习第9版第3章,有一个“创建了多少个进程,包括父进程?”这个问题让我困惑。代码是C中的Unix系统调用,fork():

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

int main(){

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

return 0;
}

有朋友怎么回答这个问题?谢谢

最佳答案

fork();

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

两个进程都再次调用fork。所以产生了两个新的过程。所以现在系统中有四个进程
fork();

现在每四个进程调用fork。所以又创造了四个新的过程。所以总共八个进程是在最后一次调用fork()之后创建的;

10-07 19:16
查看更多