顯示廣告
隱藏 ✕
看板 million
作者 emulators (模擬器)
標題 [note] linux fork() 過程解說 (簡)
時間 2014年09月11日 Thu. PM 07:57:47


http://www.embedu.org/Column/Column133.htm 

if (pid==0)
  // child process
else
  // parent process

簡要:
fork() 之後, 創造出二個process, 它們都會接收 fork() 的回傳值. 亦即 fork() return兩次值.

父process 接收來自fork() 的回傳值, 其值為子process的PID
因為父process 接收到非0 值, 故在接下來的if-else判斷式中會走到else區

子process 接收來自fork() 的回傳值, 其值為0,
因為子process 接收到0, 故接下來跑if-else判斷式時, 會走到if pid==0的區域

--
※ 作者: emulators 時間: 2014-09-11 19:57:47
※ 編輯: emulators 時間: 2014-09-11 19:58:46
※ 看板: million 文章推薦值: 0 目前人氣: 0 累積人氣: 181 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇