作者s9e0ay917 (Meg)
看板Grad-ProbAsk
標題[理工] OS parents and child process
時間Mon Nov 13 14:34:37 2017
如圖
https://i.imgur.com/3Pwq2nR.jpg
如果從程式碼的角度想
想詢問假如pid == 0 (為child process)
就會到else if那裡執行
但程式碼並不會所有都執行到
那這樣else (parents process)是如何執行的?
parents process必須等待child process執行完才會exit()
這樣是如何能讓else if 和 else的程式碼都執行?
因為章節後面也有類似的程式,所以想把觀念問清楚,感謝大家><
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.116.133
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1510554879.A.C77.html
→ TMDTMD2487: parent跟child是兩個process 11/13 14:47
→ TMDTMD2487: c符合條件式進去if p不符合進去else 11/13 14:47
→ TMDTMD2487: 你執行fork你就拿另一張紙把這些程式碼在抄一次他就是 11/13 14:56
→ TMDTMD2487: 你就拿張紙抄一遍他就叫做child,兩張紙各跑自己的 11/13 14:56
→ s9e0ay917: 想到process的本質了,忘記child也會copy parents的cod 11/13 14:59
→ s9e0ay917: e,了解了,非常謝謝你><! 11/13 14:59
推 alan23273850: 關鍵字:COW = copy on write 11/13 16:22