发布网友 发布时间:2022-04-24 10:43
共1个回答
热心网友 时间:2023-01-21 23:39
在第一个子进程产生后再次调用fork(),当然是为了再产生一个子进程。当然也遵循fork()的”返回两次“的特点了。
你需要首先考虑进程是相互的,而子进程只继承父进程代码段和数据段还有执行环境等。
还有第二次fork之后是不会调用setsid()的。第二次调用fork的子进程只执行umask(0)后面的代码。也就是说它不是一个session leader。因此第二次fork后就是一个的进程且脱离终端控制。