[理工] 101 交大 os

看板Grad-ProbAsk作者 (allenwalker)時間5年前 (2020/11/10 12:56), 編輯推噓0(005)
留言5則, 2人參與, 5年前最新討論串1/1
想請教一下解答中用紅筆圈起來的那個a是怎麼產生的,爲何同樣產生自同一個fork()的c hild-process 一個有一個卻沒有? https://i.imgur.com/SquTvlw.jpg
https://i.imgur.com/Uos3J3a.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.98 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1604984203.A.1FA.html

11/10 14:11, 5年前 , 1F
If (fork()=0)那一行child p1會加入a, 這時main是空而p1是
11/10 14:11, 1F

11/10 14:11, 5年前 , 2F
a, 下一次的fork各生一個, 所以一個空一個a
11/10 14:11, 2F

11/10 14:19, 5年前 , 3F
懂了,所以是因爲兩個紅色child process 來自的parent
11/10 14:19, 3F

11/10 14:19, 5年前 , 4F
process 中buffer不同,因此他們copy 的內容也不同
11/10 14:19, 4F

11/10 17:50, 5年前 , 5F
沒錯~
11/10 17:50, 5F
文章代碼(AID): #1VgXsB7w (Grad-ProbAsk)