Re: [理工] [OS] 迴圈中的fork
i=0時
在你說的A,P父生出一個P子(P父=parent process,P子=child process)
fork()=0是指pid=0,指的是在P子內
BCD,3個fork(),是針對P子來看
所以 子3<----子---->子2---->子3
|
|
子1---->子3
|
|
子2---->子3
在P子內會生出8個precess(連同P子)
再加上一開始的P父,共9個process
-------------------------------
i=1時
經過i=0過程後的9個process會拿來當成P父(即有9個P父)
經過A後,生出9個P子,每個P子經過BCD.3個fork()後會各生出8個process
所以"生出"9*8個process
---------------------------
i=2時
經過i=0,1過程後,共有9+(9*8)個process,會拿來當成P父
經過A後,生出9+(9*8)個P子,每個P子經過BCD,會各生出8個process
所以"生出"(9+(9*8))*8個process
------------------------------
所以最後,一共會有9+(9*8)+(9+(9*8))*8個process
PS:題目應該有寫含initial process吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.52.42
※ 編輯: justbelieve 來自: 112.105.52.42 (01/06 20:08)
推
01/06 21:30, , 1F
01/06 21:30, 1F
※ 編輯: justbelieve 來自: 112.105.52.42 (01/06 21:32)
→
01/06 21:32, , 2F
01/06 21:32, 2F
推
01/06 21:36, , 3F
01/06 21:36, 3F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):