我真的不明白fork()是如何工作的.我理解一个fork的例子,但是当我有多个调用时,我没有.我有一个这样的例子,它打印4行hello,有多少个进程是产生的?
int main(void)
{
fork();
fork();
printf("hello\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*nko 10
fork()调用之后,两个进程(原始进程和衍生进程)继续从下一行代码执行.所以这两个进程都执行第二fork()条指令,所以最后你有4个进程.因此,您会看到"hello"打印的4个实例.
一张图片胜过千言万语:
