fork 函式和linux程序號

2021-08-01 14:57:41 字數 1036 閱讀 2215

pid_t 型別——定義程序號型別;

實際型別:我們可找到其定義:

1、在centos6.5的/usr/include/sys/type.h中可找到其定義:

總結:pid_t 就是 int 型

2、fork()函式建立子程序

需要的標頭檔案:#include和#include

功能:從乙個已經存在的程序中建立新程序,原程序稱父程序,新程序稱子程序

函式原型:pid_t fork(void);

返回值:a)、對於父程序返回子程序的id號;

b)、對於子程序返回0;

c)、建立失敗,返回-1(記憶體不足或程序數達上線);     

例1,如下**:

可以看到,main函式列印了兩次id;

說明:fork()建立的子程序是通過父程序寫實拷貝而來,相當於父程序的乙個複製品;

fork呼叫的乙個奇妙之處就是它僅僅被呼叫一次,卻能夠返回兩次,它可能有三種不同的返回值。

例2:

#include #include #include int main()

if(pid == 0)

}if(pid>0)

}return 0;

}

結果:

總結:fork之後相當是兩個近似相同的程序,只是fork對應父程序和子程序返回不同。

建立程序 fork函式

最近,我在linux中學到了乙個神奇的函式,名為fork 函式,它的作用是建立程序。它的神奇之處在於呼叫fork 函式時,系統會建立乙個與原來程序幾乎完全相同的程序,大致的意思就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事 就相當於是轉殖了乙個自己。先來看...

程序建立函式fork

函式原型 pid t fork void 標頭檔案 include 函式功能 建立乙個子程序 返回值 1.1 建立失敗 2.0 返回的是子程序 3.0 返回的是父程序,返回值是子程序 id函式特性 1.呼叫一次,會有兩個返回值 2.先返回哪個值,不確定,一般先返回父程序 3.使用者可以通過延時函式,...

Linux中的程序建立函式fork

linux中的程序通過fork建立,並通過exec執行,分為兩步。在linux中所有的程序都是pid為1的init程序的子程序,核心在系統啟動的最後階段啟動init程序。系統中的所有程序都有乙個父程序,在程序描述符中有指向父程序的指標,具有同乙個父程序的程序稱為兄弟程序,同時每個程序描述符中還有乙個...