分叉时,是否需要“其他”块?

时间:2014-06-05 11:42:23

标签: c linux fork ipc

   if (pid==0)
   {
     //child
   }
   else
   {
    //parent
     ...
   }

为什么'else'部分是必要的?是不是暗示我们在父母身边?

2 个答案:

答案 0 :(得分:7)

  

是不是暗示我们在父母身边?

否。fork()调用之后,有两个进程从代码中的同一点运行。只有一个是父母。您放在else块中的代码仅由父项运行 ,就像if块中的代码仅由运行一样儿童。完整的if / else语句之后的代码由子级和父级执行。

答案 1 :(得分:0)

除非你想对原始(父)和新(子)进程做一些事情,否则没有必要。

if((pid = fork()) == 0){
    //child
}else{
    //parent
}