fork 函式 自己的理解

2021-06-18 12:30:24 字數 444 閱讀 3282

大家都知道fork()函式生成和原程序完全相同的子程序。父程序返回子程序的pid,子程序返回0.

同時要注意一點fork() 不象執行緒需提供乙個函式做為入口, fork()後,子程序的入口就在 fork()的下一條語句。

因此如下函式(我見過的一道筆試題):

void func()

}

問題是呼叫此函式,會列印多少「-」。注意子程序的入口為fork()的下一句,且程序的狀態和父程序是一樣的(包括變數)。因此該輸出6個「-」,但由於printf()本身有快取,實際會輸出8個「-」。

該位址文章有詳解。

對fork 函式的理解

標頭檔案 include cpp view plain copy pid t fork void 1.建立乙個子程序,失敗返回 1。2.呼叫一次,返回兩次。分別在父子程序中返回子程序的pid和0。利用返回值的不同,可以分別為父子程序編寫不同的處理分支。cpp view plain copy incl...

對fork函式理解

標頭檔案 include pid t fork void 1.建立乙個子程序,失敗返回 1。2.呼叫一次,返回兩次。分別在父子程序中返回子程序的pid和0。利用返回值的不同,可以分別為父子程序編寫不同的處理分支。include include int main void if pid 0 print...

fork 函式 fork 函式的使用

fork的意思是個叉子,在unix及其衍生版linux中,用於建立子程序,現在看一下fork函式的基本用法。include includeint main printf c b fflush stdout fork printf c c fflush stdout 上圖的輸出是什麼呢?答案是 bab...