我知道这可能是一个愚蠢的问题,但任何人都可以帮助我理解以下代码片段的行为
//label 0
int main(){
fork();//label 1
fork();//label 2
fork();//label 3
return 0;
}
据我了解,流程树是这样的
[0]
/ | \
[1] [2] [3]
/ \ |
[2] [3] [3]
|
[3]
我对吗?如果是这样,我很困惑为什么第二个叉子没有产生与标签 1 叉子相对应的进程,而第三个叉子没有进一步产生任何进程。我的意思是子进程是父进程的精确副本(至少在代码中),因此它必须完整地执行其父进程的代码。谁能帮我解决这个困惑...