我正在玩fork命令我在我的ubuntu虚拟机中编写了以下命令
int main()
{
printf("what the heck dude?");
int pid=fork();
printf("Beginning of Child or Parent")
if(pid==0)
{
//wait() //1
printf("I am Child with pid %d",pid);
//wait() //2
}
else
{
//wait() //3
printf("I am Parent with pid %d",pid);
//wait() //4
}
printf("End of Child or Parent")
}
我已经等待了if和else的不同部分。这些数字表示等待的位置。
只在//4
位置等待,我得到了奇怪的输出
What the heck dude?
Beginning of Child or Parent
Beginning of Child or Parent
I am a Child Process with pid 0
End of Child or Parent
End of Child or Parent
我没有得到这里发生的事情。在其他位置输入等待输出就可以了。 如果有人能解释我这里发生了什么?