Linux 下的 fork()【转载】

【原文地址】http://blog.csdn.net/hikaliv/article/details/4276758

[cpp] view plaincopy
 
  1. for( i = 0; i < 5; i++ )   
  2.     if( fork() == 0 )   
  3.         continue;   

 

共生成多少个子进程?


简查了一下 fork() 的知识,它调用一次,返回两次,进入子进程并返回一次,然后退到父进程再返回一次,子进程中返回值为 0,父进程中返回的是子进程的进程号。



答案是 31。


如上图所示,这就是一个二项树,二项树结点的计算公式为 2^n - 1,当 n = 5 时,结果为 31。

posted @ 2014-02-27 20:14  yxyresbruce  阅读(125)  评论(0编辑  收藏  举报