查詢fork()函式有以下幾種返回值
1.在父程序中,fork返回新建立子程序的程序id;
2.在子程序中,fork返回0;
3.如果出現錯誤,fork返回乙個負值。
總是不理解進行試驗驗證
#include#include#include#include#includeint main(int argc, int** ar**)
else if(pid==0)else
return 2;
}
執行結果
由結果知fork()在不同的程序中返回的結果是不同的子程序中返回的是0,父程序中返回的是子程序id。main程序總是由3203這個程序建立檢視程序列表3203 是shell程序
子程序中為什麼有時會出現父程序id為1,這是因為父程序(main)可能在子程序執行起來的時候已經執行結束了,這是子程序沒有了父程序,子程序變成了孤兒程序,孤兒程序的父程序都會變成init程序兒init程序id就是1
fork 函式 fork 函式的使用
fork的意思是個叉子,在unix及其衍生版linux中,用於建立子程序,現在看一下fork函式的基本用法。include includeint main printf c b fflush stdout fork printf c c fflush stdout 上圖的輸出是什麼呢?答案是 bab...
fork 函式 自己的理解
大家都知道fork 函式生成和原程序完全相同的子程序。父程序返回子程序的pid,子程序返回0.同時要注意一點fork 不象執行緒需提供乙個函式做為入口,fork 後,子程序的入口就在 fork 的下一條語句。因此如下函式 我見過的一道筆試題 void func 問題是呼叫此函式,會列印多少 注意子程...
對fork 函式的理解
標頭檔案 include cpp view plain copy pid t fork void 1.建立乙個子程序,失敗返回 1。2.呼叫一次,返回兩次。分別在父子程序中返回子程序的pid和0。利用返回值的不同,可以分別為父子程序編寫不同的處理分支。cpp view plain copy incl...