linux下fork的使用

2021-10-01 19:07:00 字數 547 閱讀 6551

需要包含標頭檔案

#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 ...