我不太了解fork()的工作原理。我了解一个fork的示例,但是当调用不止一个时,我没有这样的示例,它打印了4行你好,有多少个进程创建了吗?

int main(void)
{
       fork();
       fork();
       printf("hello\n");

       return 0;
}

最佳答案

调用fork()之后,两个进程(原始进程和生成的进程)都将从下一行代码继续执行。因此,两个进程都执行第二条fork()指令,因此最终您有4个进程。因此,您看到打印了"hello"行的4个实例。

一张图片值一千字:

关于c - 有人可以解释一下fork的工作原理吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29637898/

10-10 07:58