下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗二進程的創(chuàng)建一、實驗目的熟悉進程的創(chuàng)建過程,了解系統(tǒng)調(diào)用函數(shù) fork() 和execl()。二、實驗內(nèi)容1、閱讀實例代碼forkl ,并編輯、編譯、運行,記錄程序的運行結(jié)果,嘗試給 出合理的解釋,查閱有關(guān)資料,掌握系統(tǒng)調(diào)用fork()的用法,返回值的意義,2、閱讀實例代碼fork2 ,并編輯、編譯、運行,記錄程序的運行結(jié)果,嘗試給 出合理的解釋,查閱有關(guān)資料,掌握在程序中運行一個操作系統(tǒng)命令和運行一個 程序的方法。3、修改fork2 ,使之能把運行的命令和程序作為參數(shù)傳給 fork2。三、設(shè)計思想2、用到的文件系統(tǒng)調(diào)用函數(shù)fork()和 execl()四、調(diào)試過程1、測試數(shù)據(jù)設(shè)計(1)
2、forkl命名程序1:Q事管 wyf>ubuntu: *File Edit View Search Terminal Helplwyf0ubuntu:vi forkl.c編寫程序1:O l . wyfubuntu; File Edit View Search Terminal Helpmain()Iint pid;pid = fork();if(pid=-)printf( failed n ); return;printf( m the child An'):printf( I'm the p3門n );return;IWHn,q編譯程序1:f 士 wyfubuntu:
3、*File Edit View Search Terminal Help wfubuntu:T vi forkl.c wyfubuntu:»$ cc -o 1 forkl.c v/yfubuntu : s運行程序1:A® wyrubuntij: File Edit View Search Terminal Help wyf創(chuàng)buntuT vi forkl.c wyfubuntu:-$ cc -o 1 forkl.c wyfubuntu:-4 ./l I'm the child.I'm the parent,wyf色jbuntuf I'm the ch
4、ild.I*m the parent.fork2編寫程序2:wyfubuntui*File Edit View Search Terminal Helpniain()(int pidfpid = fork();if(pid =) (printftn );execl(.匚已*)peo();else ifpid > >printf();elseprintff k failed.n');priintf ();:nq運行程序2:冬0弋 wyfubuntu:"File Edit View Search Terminal Helpwyfubuntu:-$ vi fork2.c
5、wyf(auburtu:cc -o 2 fork2.cwyfubuntu:7 ./2I'm the gram end.wylubuntu:-$ l*m the child*2Dacumentsexamples.desktopMusicPublicVideosDesktopDownloadsfork2 + cPicturesTemplates修改fork2編寫修改程序2:main()(int pid;pid = fork()- if(pid k )(;"r J);-I .n );An ););printf ( excel( perrorfelse if(pi
6、d > ) printf (elseprintf ( printf (修改后的運行結(jié)果:v/yfubuntu-$ ./2 11m the parent, program end.wyfubuntu:-$ I'm the child, hello world.2、測試結(jié)果分析(1)對于程序1:因為系統(tǒng)調(diào)用fork()函數(shù)是一次調(diào)用兩次返回值,而且先生 成子進程還是父進程是不確定的,所以第一次執(zhí)行生成子進程的時候返回的pid=0 ,判斷 pid!=-1 ,所以輸出了 I' m the child. I ' m the parent.第二次,執(zhí)行父進程的時候,返回的是子
7、進程的進程號pid > 0,即pid的值仍然不為-1 ,所以又輸出了一次 I' m the child. I ' m the parent 。(2)對于程序2:第一次調(diào)用fork()函數(shù)時,由于執(zhí)行的是子進程還是父進程 是隨機的,所以第一次對父進程返回的是子進程的進程號(大于0),即pid > 0,所以/&出I' m the parent. Program end.當?shù)诙螆?zhí)行子進程時返回值是 0,即pid = 0 ,所以輸出I' m the child.并調(diào)用了 execl()函數(shù),查看了指定路徑中的文件。(3)對于修改后的程序2:改變了系統(tǒng)調(diào)用execl()中參數(shù)的文件路徑和可執(zhí)行 文件名,即可在程序fork2.c中執(zhí)行另一個程序wyf.c (但要注意可執(zhí)行文件名 是 123)。五、總結(jié)1、調(diào)試過程中遇到的主要問題及解決過程運行程序2的時候如果不加execl()函數(shù)的頭文件<unistd.h>會提示警告, 而且因為execl()的第三個參數(shù)是字符型指針數(shù)組,所以要強制轉(zhuǎn)換成指針型, 即寫成(char*)0 才行。2、體會和收獲通過這次實驗我進一步熟悉了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年高端餐廳員工聘用合同示范3篇
- 二零二五版凍豬肉儲備政府采購合同爭議解決與仲裁條款2篇
- 二零二五版商業(yè)地產(chǎn)改造與招商合作合同3篇
- 二零二五年度腳手架施工材料供應與租賃合同3篇
- 二零二五版新型讓與擔保合同-供應鏈金融支持協(xié)議2篇
- 二零二五版家政服務(wù)員與雇主及家政協(xié)會三方合作合同3篇
- 二零二五版公司間股權(quán)置換、轉(zhuǎn)讓與資本運作合同3篇
- 二零二五年教育機構(gòu)教學質(zhì)量兜底服務(wù)合同范本3篇
- 二零二五版二手房貸款買賣合同范本:適用于房產(chǎn)交易中的擔保合同2篇
- 二零二五年度購物卡電子支付解決方案合同3篇
- 2025年河北供水有限責任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學年高中英語人教版(2019)必修第一冊
- 農(nóng)發(fā)行案防知識培訓課件
- 社區(qū)醫(yī)療抗菌藥物分級管理方案
- 安徽大學大學生素質(zhì)教育學分認定辦法
- 巴布亞新幾內(nèi)亞離網(wǎng)光儲微網(wǎng)供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預防接種護理質(zhì)量考核標準
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機組水輪機安裝概述與流程
評論
0/150
提交評論