(26)-4.4Linux程序設(shè)計 進程創(chuàng)建_第1頁
(26)-4.4Linux程序設(shè)計 進程創(chuàng)建_第2頁
(26)-4.4Linux程序設(shè)計 進程創(chuàng)建_第3頁
(26)-4.4Linux程序設(shè)計 進程創(chuàng)建_第4頁
(26)-4.4Linux程序設(shè)計 進程創(chuàng)建_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

4.4進程創(chuàng)建-2-(一)進程控制塊進程控制塊是task_struct結(jié)構(gòu)體進程控制塊PCB(processcontrolblock)控制進程運行描述進程情況管理系統(tǒng)進程-3-(二)fork()函數(shù)fork()函數(shù)語法要點-4-即一個進程創(chuàng)建一個子進程,該子進程還可以創(chuàng)建自己的子進程。(三)fork()函數(shù)特點fork調(diào)用特點:被調(diào)用一次,卻能夠返回兩次在父進程中,fork返回新創(chuàng)建子進程的進程IDfork函數(shù)執(zhí)行完畢,若創(chuàng)建新進程成功,則出現(xiàn)兩個進程,一個是子進程,一個是父進程。在子進程中,fork函數(shù)返回0fork函數(shù)的內(nèi)部原理:進程的分裂生長模式-5-(四)fork()函數(shù)使用調(diào)用fork()函數(shù)后,用if判斷返回值返回值大于0時即父進程執(zhí)行入口返回值等于0時即子進程執(zhí)行入口fork系統(tǒng)調(diào)用之后,父子進程將交替執(zhí)行,執(zhí)行順序不定fork之前:父進程自己做的事情對子進程有影響fork之后:父進程在自己的if里做的事情對子進程沒有影響-6-(五)父子進程對文件的操作子進程繼承父進程中打開的文件父子進程各自獨立打開相同文件測試結(jié)論:接續(xù)寫3.在父子進程中各自write向fd中寫內(nèi)容1.父進程先open打開一個文件得到fd2.fork創(chuàng)建子進程2.子進程打開test.txt然后寫入1.父進程open打開test.txt然后寫入測試結(jié)論:獨立寫若open時父子進程使用O_APPEND標志測試結(jié)果:接續(xù)寫原因:父子進程之間的fd對應(yīng)的文件指針彼此關(guān)聯(lián)原因:這兩個進程的PCB獨立,文件表也獨立-7-(六)小結(jié)fork調(diào)用特點:被調(diào)用一次,返回兩次。在子進程中,fork函數(shù)返回0,在父進程中,fork返回新創(chuàng)建子進程的進程ID。fork系統(tǒng)調(diào)用之后,父子進程將交替執(zhí)行,執(zhí)行順序不定。任何一個進程都有父進程。父進程先退出,子進程還沒退出,子進程就成了孤兒進程;子進程先退出,父進程還沒退出,則子進程就成為僵尸進程。系統(tǒng)調(diào)用函數(shù)fork()---創(chuàng)建一個子進程。fork函數(shù)的內(nèi)部原理:進程的分裂生長模式,即一個進程創(chuàng)建一個子進程,該子進程還可以創(chuàng)建自己的子進程。父進程先open打開一個文件得到fd,再fork創(chuàng)建子進程,之后在父子進程中各自write向fd中寫內(nèi)容,測試結(jié)論是接續(xù)寫。父進程open打開test.txt寫入,子進程打開test.txt寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論