我不太了解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/