我正在尝试以下C代码:
int main()
{
printf("text1\n");
fork();
printf("text2\n");
return 0;
}
我期待得到输出,我得到两个“text1”和两个“text2”,如:
text1
text1
text2
text2
但是,相反,我得到了:
text1
text2
text2
只有一个“text1”???如果子进程从fork()执行,那么为什么我得到两个“text1”用于跟随:
int main()
{
printf("text1");
fork();
printf("text2\n");
return 0;
}
现在的输出是:
text1text2
text1text2
如果子进程在fork之后开始,则输出应为:
text1text2
text2