




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實驗2 進程相關的系統(tǒng)調(diào)用邢衛(wèi) 2007-10-23修訂實驗目的學習Linux中與進程控制相關的系統(tǒng)調(diào)用,加深對進程、進程樹等概念的理解。實驗內(nèi)容1. 學習使用以下幾類系統(tǒng)調(diào)用,進行編程練習l 獲取進程的信息,getpid(), getppid()l 父子進程控制,fork(),wait()2. 學習熟練地使用程序的編輯vi,編譯gcc,運行3. 學習熟練地使用ps命令觀察進程的狀態(tài)及其關系4. 選做:使用聯(lián)機手冊man,查看上述系統(tǒng)調(diào)用的完整指南實驗步驟l 完成以下4個實驗樣例程序的編輯、編譯、運行和觀察。l 通過聯(lián)機手冊,深入學習相應的系統(tǒng)調(diào)用。l 對4個樣例程序進行自主改造和實驗,或者構(gòu)
2、造新的程序進行實驗。(1) 程序getpid.c#include <stdio.h>main()int pid;pid = getpid();printf("my pid is %dn", pid);pid = getppid();printf("my parents pid is %dn", pid);sleep(40);1. 輸入程序 vi getpid.c2. 編譯連接 gcc getpid.c o getpid3. 后臺運行 ./getpid &4. 使用 ps l 查看進程狀態(tài),驗證getpid()和getppid()系統(tǒng)調(diào)
3、用,注意父子進程的關系。5. (選做)使用 man 2 getpid命令,查看getpid()系統(tǒng)調(diào)用的聯(lián)機手冊。(2)程序fork.c#include <stdio.h>int z = 0;main()int pid = getpid(); if (pid = fork() z = pid;printf(“z1 = %dn”, z); else z = pid;printf(“z2 = %dn”, z);printf(“all done, pid = %dn”, pid);1. 先考慮一下,程序的輸出結(jié)果是什么。2. 輸入程序 vi fork.c3. 編譯連接 gcc fork.
4、c o fork4. 運行 ./fork注意觀察程序的輸出5. 驗證自己原先的想法是否正確,想一想為什么。6. (推薦)使用man 2 fork命令,查看fork的聯(lián)機手冊。(3)程序mfork.c#include <stdio.h>main()int i, pid;for (i=0; i<10; i+) pid = fork();if (pid = 0) printf("child %d starts runningn", i);sleep(60+i*5);/ every child sleeps for a different periodexit(0
5、); else printf("parent: generate a new child with pid %dn", pid);sleep(1);1. 先考慮一下,程序的輸出結(jié)果是什么。2. 輸入程序 vi mfork.c3. 編譯連接 gcc mfork.c o mfork4. 運行 ./mfork注意觀察程序的輸出5. 每隔幾秒到十秒鐘,反復使用 ps -l 命令觀察。想想為什么。注意./mfork進程的父進程號為1號進程。為什么?(4)程序fork_wait.c#include <stdio.h>main()int pid;printf("be
6、gin .n");pid = fork();if (pid = 0) printf("I am the childn");sleep(20);exit(0); else printf("the child process pid is %dn", pid);wait(NULL);printf("child process has terminated. n");sleep(10);1. 先考慮以下,程序的執(zhí)行結(jié)果是什么。2. 輸入程序 vi fork_wait.c3. 編譯連接 gcc fork_wait.c o fork_wait4. 后臺運行 ./for
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)災害應急管理指南
- 三農(nóng)工作者的實踐指南
- 生物質(zhì)顆粒燃料蒸汽發(fā)生器
- 重大項目進度協(xié)調(diào)會議紀要記錄
- 育嬰師復習試題含答案
- 藝術鑒賞油畫技法分析題集
- 茶藝師復習試題含答案(一)
- 外科總論復習測試有答案
- 生物識別技術使用手冊
- 三農(nóng)行業(yè)養(yǎng)殖業(yè)管理手冊
- GB/T 45236-2025化工園區(qū)危險品運輸車輛停車場建設規(guī)范
- 2025湖北日報傳媒集團招聘45人筆試參考題庫附帶答案詳解
- 2025年南京信息職業(yè)技術學院單招職業(yè)技能測試題庫匯編
- 2025春教科版(2024)小學一年級下冊科學全冊教案
- 第10章 浮力較難2 難題練習 2021年初中物理培優(yōu)(重點高中自主招生 競賽)
- GB∕T 2518-2019 連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 個體診所聘用醫(yī)師合同范本
- 數(shù)字電子基礎(康華光)
- 猜字謎競賽(課堂PPT)
- 上海機場控制區(qū)通行證申請表(人員)
- 第五章新聞評論的嬗變
評論
0/150
提交評論