我已经执行了以下代码:
#include<stdio.h>
int main()
{
printf("hello \t");
fork();
fork();
return 0;
}
输出 :hello hello hello hello
这是否意味着除了被执行的调用fork()
之外,为子进程创建与父进程完全相同的代码副本?fork()
这让我很困惑,因为我在某个地方研究过“fork()
从代码的下一行开始执行”。因此,如果这是真的,那么它应该创建 3 个子进程和 1 个父进程,并且应该"hello"
只打印一次。
请解决这个问题。
我在 gcc 编译器上运行了这段代码。