了解操作系统中的fork命令

时间:2015-10-12 19:25:01

标签: c linux fork

我正在玩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

我没有得到这里发生的事情。在其他位置输入等待输出就可以了。 如果有人能解释我这里发生了什么?

0 个答案:

没有答案