Re: [理工] [OS] 99交大資訊聯招 fork() 的問題?

看板Grad-ProbAsk作者 (軒昂)時間10年前 (2015/12/23 16:27), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《compulsory (生既無歡 死又何懼?)》之銘言: : int main() : { : for(i=0;i<3;i++) : if(fork()==0) [1] : { : fork(); [2] : fork(); [3] : fork(); [4] : } : } : i=0時 : 父 : ↓ : 子 --------------[1] : ↓ : 子 --------------[2] : ↓\ : 子 子-----------[3] : / ↓ ↓\ : 子 子 子 子-------[4] : 最開始的parent可以創造出8個child : i=1的時候進入此loop的process有9個 : 所以可以造出9*8個 : i=2的時候進入此loop的process有9+9*8個 : 所以可以造出(9+9*8)*8 : 以上全部再加起來就是了 : 我的一點看法 有錯請指正 看了之後還是不大了解 請問一下那個樹狀圖是怎麼推出來的 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.228.196 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1450859222.A.BE1.html

12/23 17:05, , 1F
這樣說好了,父生出if這個子,if這個子就是下面三個
12/23 17:05, 1F

12/23 17:06, , 2F
子的父,以此類推,上面的樹狀圖好像有錯,[2]已經
12/23 17:06, 2F

12/23 17:07, , 3F
生一個子,所以[3]右邊的子應該是從[1]出來
12/23 17:07, 3F

12/23 17:08, , 4F
[4]兩側的子應該分別從[1]和[2]再生出來
12/23 17:08, 4F

12/23 18:14, , 5F
感謝 所以child是會從parent 在code裡面呼叫他的地方
12/23 18:14, 5F

12/23 18:14, , 6F
接著執行下去嗎
12/23 18:14, 6F

12/23 18:33, , 7F
沒有錯!
12/23 18:33, 7F

12/24 02:05, , 8F
Yes
12/24 02:05, 8F
文章代碼(AID): #1MUbhMlX (Grad-ProbAsk)
文章代碼(AID): #1MUbhMlX (Grad-ProbAsk)