成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

fork函數是什么-創(chuàng)新互聯

這篇文章將為大家詳細講解有關fork函數是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

專注于為中小企業(yè)提供成都網站制作、網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)蓬江免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

fork函數

      
在linux中,只有一個函數可以創(chuàng)建子進程:fork。

    #include <sys/types.h>

    #include <unistd.h>

    pid_t fork(void);


由f o r k創(chuàng)建的新進程被稱為子進程( child process)。該函數被調用一次,但返回兩次。兩次返回的區(qū)別是子進程的返回值是0,而父進程的返回值則是新子進程的進程I
D。將子進程I D返回給父進程的理由是:因為一個進程的子進程可以多于一個,所以沒有一個函數使一個進程可以獲得其所有子進程的進程I D。f o r k使子進程得到返回值0的理由是:一個進程只會有一個父進程,所以子進程總是可以調用g
e t p p i d以獲得其父進程的進程I D (進程ID 0總是由交換進程使用,所以一個子進程的進程I D不可能為0
)。

      
子進程和父進程共享很多資源,除了打開文件之外,很多父進程的其他性質也由子進程繼承:

?
實際用戶I D、實際組I D、有效用戶I D、有效組I D。

?
添加組I D。

?
進程組I D。

?
對話期I D。

?
控制終端。

?
設置-用戶- I D標志和設置-組- I D標志。

?
當前工作目錄。

?
根目錄。

?
文件方式創(chuàng)建屏蔽字。

?
信號屏蔽和排列。

?
對任一打開文件描述符的在執(zhí)行時關閉標志。

?
環(huán)境。

?
連接的共享存儲段。

?
資源限制。

      
父、子進程之間的區(qū)別是:

? fork的返回值。

?
進程I D。

?
不同的父進程I D。

?
子進程的t m s _ u t i m e , t m s _ s t i m e , t m s _ c u t i m e以及t m s _ u s t i m e設置為0。

?
父進程設置的鎖,子進程不繼承。

?
子進程的未決告警被清除。

?
子進程的未決信號集設置為空集。

      
使f o r k失敗的兩個主要原因是:( a )系統中已經有了太多的進程(通常意味著某個方面出了問題),或者(
b )該實際用戶I D的進程總數超過了系統限制?;貞洷? - 7,其中C H I L D _ M A X規(guī)定了每個實際用戶I
D在任一時刻可具有的較大進程數。

f o r k有兩種用法:

(1)
一個父進程希望復制自己,使父、子進程同時執(zhí)行不同的代碼段。這在網絡服務進程中是常見的——父進程等待委托者的服務請求。當這種請求到達時,父進程調用f o r k,使子進程處理此請求。父進程則繼續(xù)等待下一個服務請求。

(2)
一個進程要執(zhí)行一個不同的程序。這對s h e l l是常見的情況。在這種情況下,子進程在從f o r k返回后立即調用e x e c。

我們從一個例子程序中可以看到fork函數的作用,子進程與父進程之間的資源共享。

關于fork函數是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

新聞標題:fork函數是什么-創(chuàng)新互聯
URL標題:http://jinyejixie.com/article4/dipeie.html

成都網站建設公司_創(chuàng)新互聯,為您提供定制開發(fā)、品牌網站建設、網頁設計公司、面包屑導航網站建設、網站排名

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

h5響應式網站建設
察雅县| 重庆市| 岑溪市| 新巴尔虎右旗| 班玛县| 晋江市| 友谊县| 新沂市| 辽中县| 阜新市| 花莲市| 平昌县| 乌拉特前旗| 常熟市| 习水县| 黑山县| 禹州市| 白河县| 济南市| 司法| 潍坊市| 万山特区| 济宁市| 邹平县| 通江县| 噶尔县| 三河市| 洛阳市| 石屏县| 滨海县| 三门峡市| 当雄县| 革吉县| 营山县| 德阳市| 皋兰县| 宣汉县| 宿松县| 满洲里市| 辽阳市| 武威市|