在linux 中,建立乙個新程序的唯一方法是有某個已存在的程序呼叫fork()函式,被建立的新程序稱為子程序,已存在的程序稱為父程序.
fork()函式的實質是乙個系統呼叫(和write函式類似),其作用是建立乙個新的程序,當乙個程序呼叫它,完成後就出現兩個幾乎一模一樣的程序,其中由fork()建立的新程序被稱為子程序,而原來的程序稱為父程序.子程序是父程序的乙個拷貝,即子程序從父程序得到了資料段和堆疊的拷貝,這些需要分配新的記憶體;而對於唯讀的**段,通常使用共享記憶體方式進行訪問.
fork()的標頭檔案 」
#include
/*這是乙個呼叫fork()函式建立子程序的例項,當建立成功之後會分別列印兩者對應的程序標誌符*/
#include #include #include int main(int argc,char *argv)
else if(pid==0) //如果pid為0則表示當前執行的是子程序
printf("i am chrild.pid=%d\n",getpid());
else //否則為父程序
printf("i am father.pid=%d\n
",getpid());
return 0;
}
輸出結果:
i am chrild.pid=3120
i am father.pid=3121
fork 函式的簡單程式
include include 注 自定義的標頭檔案 int main int argc,char argv int main int argc,char argv else 執行結束之後,系統1號程序進行 printf c n return 0 int main int argc,char arg...
fork 函式 fork 函式的使用
fork的意思是個叉子,在unix及其衍生版linux中,用於建立子程序,現在看一下fork函式的基本用法。include includeint main printf c b fflush stdout fork printf c c fflush stdout 上圖的輸出是什麼呢?答案是 bab...
c 中的fork函式 FORK()函式
乙個程序,包括 資料和分配給程序的資源。fork 函式通過系統呼叫建立乙個與原來程序幾乎完全相同的程序,也就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事。乙個程序呼叫fork 函式後,系統先給新的程序分配資源,例如儲存資料和 的空間。然後把原來的程序的所有...