[理工] OS parents and child process

看板Grad-ProbAsk作者 (Meg)時間8年前 (2017/11/13 14:34), 編輯推噓1(106)
留言7則, 3人參與, 8年前最新討論串1/1
如圖 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

11/13 14:47, 8年前 , 1F
parent跟child是兩個process
11/13 14:47, 1F

11/13 14:47, 8年前 , 2F
c符合條件式進去if p不符合進去else
11/13 14:47, 2F

11/13 14:56, 8年前 , 3F
你執行fork你就拿另一張紙把這些程式碼在抄一次他就是
11/13 14:56, 3F

11/13 14:56, 8年前 , 4F
你就拿張紙抄一遍他就叫做child,兩張紙各跑自己的
11/13 14:56, 4F

11/13 14:59, 8年前 , 5F
想到process的本質了,忘記child也會copy parents的cod
11/13 14:59, 5F

11/13 14:59, 8年前 , 6F
e,了解了,非常謝謝你><!
11/13 14:59, 6F

11/13 16:22, 8年前 , 7F
關鍵字:COW = copy on write
11/13 16:22, 7F
文章代碼(AID): #1Q2Jp_nt (Grad-ProbAsk)