考虑以下指令:
for(int i = 0; i < 3; i++)
fork();
我试图弄清楚创建过程的数量和图形创建的步骤。
所以上面的代码等价于:
fork();
fork();
fork();
这张图说明了这个问题的官方答案:
我无法想象这个图表是如何创建的。
这就是我绘制图表的方式。
因此,第一个 fork 将创建父进程 (p1) 的子副本 (p2)。我们有2个过程。
第二个分叉将通过创建子进程(p3 和 p4)来复制 p1 和 p2 父级。
第三次分叉,将复制 p1、p2、p3 和 p4,通过创建子进程(p5、p6、p7、p8)
如何获得与老师相同的图表?