Linux 下的 fork()【轉載】

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

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

 

共生成多少個子進程?url


簡查了一下 fork() 的知識,它調用一次,返回兩次,進入子進程並返回一次,而後退到父進程再返回一次,子進程中返回值爲 0,父進程中返回的是子進程的進程號。spa



答案是 31。.net


如上圖所示,這就是一個二項樹,二項樹結點的計算公式爲 2^n - 1,當 n = 5 時,結果爲 31。orm

相關文章
相關標籤/搜索