需要包含標頭檔案
#include
#include
函式宣告
pid_t fork
(void
);
其中pid_t在sys/types.h中定義:
typedef __pid_t pid_t;
可以看到只是乙個int.
fork()通過複製呼叫過程來建立乙個新過程。 新程序稱為子程序,與呼叫程序(稱為父程序)完全相同,但以下幾點除外:
測試**
#include
#include
#include
intmain
(int ar**,
char
*argc)
}elseif(
0== pid)
}elseif(
-1== pid)
}
執行結果:
注意列印資訊和fork的位置。
Linux下fork函式的使用
fork函式每呼叫一次,函式返回兩次,新程序 子程序 中返回0,原程序 父程序 中返回子程序的pid。q 為什麼不是子程序中返回父程序pid,父程序中返回0呢?那是因為乙個父程序有很多子程序,如果不返回其特定子程序的pid,之後需要呼叫其子程序時就找不到這個子程序了 而乙個子程序只有乙個父程序,如果...
Linux下的fork 函式
fork fork的英文翻譯是 分叉 同樣在linux中我們也可以理解為如果使用了fork 函式,程序也會 分叉 下面進行具體的說明fork 函式。定義 通過系統呼叫建立乙個與原程序幾乎完全相同的程序,其中新產生的程序成為子程序。原型 pid t fork void fid t相當於int型別特殊之...
linux下fork的問題
題目 請問下面的程式一共輸出多少個 include include include int main void return0 如果你對 fork 的機制比較熟悉的話,這個題並不難,輸出應該是 6 個 但是,實際上這個程式會很 tricky 地輸出 8 個 要講清這個題,我們首先需要知道 fork ...