推 olen0622: 看得出來你程式寫得少 這是迴圈觀念上的問題 11/29 00:44
→ olen0622: 1.先fork()再判斷大小所以會先生child 鉛筆色進迴圈 11/29 00:46
→ olen0622: 黃色進else if所以只有它產藍色 11/29 00:47
推 barry70490: 知道這個什麼意思 但是不太會解釋 11/29 00:47
→ olen0622: 2.主行程回傳子行程pid 兩個行程進迴圈兩次fork 11/29 00:49
→ olen0622: 紅色不會再出來判斷條件 11/29 00:49
推 alan23273850: 解這種題目要把握的兩個觀念:1. 當程式呼叫 fork() 11/29 00:55
→ alan23273850: 時,會複製出一份一模一樣的程式碼,而且會從fork() 11/29 00:56
→ alan23273850: 執行完的地方繼續執行(parent和child都是)。 11/29 00:57
→ alan23273850: 2. 畫 process tree 的資料結構盡量用 Left-child, 11/29 00:58
→ alan23273850: right-sibling binary tree,在視覺上或觀念上都會 11/29 00:58
→ alan23273850: 很清楚,這樣不管題目怎麼出就都不會錯 11/29 00:59
推 TMDTMD2487: fork相當於一個帶有回傳值的副程式,放在if條件中要 11/29 01:03
→ TMDTMD2487: 先執行完並得到回傳值在判斷條件 11/29 01:03
→ TMDTMD2487: 話說我之前有發過文特地追蹤一題,你可以去看一下 11/29 01:04
→ s90210jackle: 謝謝t大s大 有看到你們詳細的追蹤後完全懂了 真的太 11/29 22:48
→ s90210jackle: 感激了 ㄒ_ㄒ 11/29 22:48