




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統(tǒng)實驗報告題目:管理Linux 系統(tǒng)進程 姓名: 日期:實驗目的1) 回顧系統(tǒng)進程的概念,加深對Linux / UNIX 進程管理的理解。2) 回顧ps 命令和選項。3) 列出當前shell 中的進程。4) 列出運行在系統(tǒng)中的所有進程。5) 根據命令名搜索特定的進程。6) 確定一個進程,終止它。7) 使用kill 命令終止進程。8) 根據用戶查找和終止進程。9) 根據命令名終止進程。實驗環(huán)境一臺運行Red Hat Linux 操作系統(tǒng)的計算機。實驗內容與步驟注:本報告中藍色字表示填空的內容,紅色字表示仍然在糾結。步驟 1:登錄進入GNOME。在 Linux 登錄框中填寫指導老師分配的用戶
2、名和口令,登錄Linux 系統(tǒng)。步驟 2:訪問命令行。單擊紅帽子,在“GNOME 幫助”菜單中單擊“系統(tǒng)工具”-“終端”命令,打開“終端”窗口。步驟3:回顧系統(tǒng)進程概念。每個運行的程序都會創(chuàng)建一個進程,進程分配到一個唯一的進程標識符 (PID) 。PID被系統(tǒng)用于標識和跟蹤進程,直到進程結束。操作系統(tǒng)內核管理所有進程的初始化和終止。每一個進程都要求系統(tǒng)資源 (例如CPU 時間和RAM空間) 在其中工作。當進程啟動的時候,操作系統(tǒng)把系統(tǒng)資源分配給每個進程,當進程終止的時候,系統(tǒng)回收這些資源。在Linux 系統(tǒng)啟動的時候,首先啟動的兩個進程是sched (調度) 和init (初始化) ,它們管理
3、著其他進程。Linux 系統(tǒng)中有幾種不同類型的進程:守護進程:由 Linux 內核啟動的進程,為了特定目的而存在。例如,lpsched 守護進程存在只是為了處理打印作業(yè)。父進程:派生其他進程的進程是父進程。一個叫做init 的守護進程是第一個調用的進程。每一個進程,除了init 之外,都有一個父進程。子進程:由其他進程派生出來的進程叫做子進程。孤兒進程:在進程返回輸出之前,它的父進程結束了,這樣的進程叫做孤兒進程。僵進程:子進程沒有帶著輸出返回給父進程。這樣的進程在系統(tǒng)中變成丟失的進程。使用此前的信息,完成以下填空:1) Linux 系統(tǒng)中,幾乎每一個啟動的進程,都會由內核分配一個唯一的PID
4、進程標識符,用于跟蹤從進程啟動到進程結束。2) 當啟動新進程的時候,內核也給它們分配系統(tǒng)資源,如CPU時間和RAM空間。3) 永遠不向父進程返回輸出的進程叫做僵進程。4) 由父進程派生出來的進程叫做子進程。5) 父進程是一個派生另一個進程的進程。6) 運行用于提供服務的Linux 系統(tǒng)進程是守護進程。7) 如果父進程在子進程之前結束,它創(chuàng)建了一個孤兒進程。步驟 4:回顧ps 命令和信息。ps 命令用于列出當前系統(tǒng)中運行的進程。如果一個進程耗時太長,或者看上去好像已經終止了,表現(xiàn)為一個終端窗口不再響應或掛起,通常需要使用ps 查看系統(tǒng)中的進程。通過列出進程,可以查看初始化進程的命令或程序的名字,
5、以及所有它派生出來的子進程。通過多次執(zhí)行ps 命令,查看進程的時間進程占用的CPU 時間,可以檢查一個進程是否還在運行。如果時間小再增長,那么進程可能已經終止了。如果進程占用太長的時間或者已經停止,可以使用ps 命令檢查進程的進程ID (PID) ,然后殺死進程。ps 命令的輸出將顯示PID 號和與其相關的命令或程序。PID 號通常用于終止一個進程。ps 命令 ( ps -options ) 的3 個主要選項如下表所示。表 3-5 ps 命令選項ps 選項 意義 功能Ps 無選項顯示當前 shell 或終端窗口中,當前用戶的進程信息ps e 每一個顯示系統(tǒng)中每一個進程的信息ps f 完全產生一
6、個完全列表,給出每個進程的所有可用信息ps -u userid 用戶顯示特定用戶的所有進程基本的ps 命令顯示在當前shell 中的進程信息,用戶只能夠查看在這個終端窗口中初始化的進程。輸入ps 命令,將結果填入表3-6 中。表 3-6 實驗記錄PIDTTYTIMECMD14439pts/100:00:00bash14456pts/100:00:00Ps從當前終端窗口中,練習使用給出的每個選項的 ps 命令。輸入 ps -f 命令,顯示運行在系統(tǒng)中的某個進程的完全信息,填入表3-7 中。UIDPIDPPIDCSTIMETTYTIMECMDroot1443914436019:03pts/100:
7、00:00bashroot1445714439019:04pts/100:00:00ps -f步驟 5:列出系統(tǒng)中運行的所有進程。輸入 ps -ef 命令,顯示運行在系統(tǒng)中的各個進程的完全信息。執(zhí)行該命令,并與ps f命令的輸出結果對照,一致嗎?有何不同?不一致,1)ps -ef 的進程很多_2)ps -ef 的CMD很多,但兩者的bash很相似3)最后一個CMD一個是ps -f,一個是ps -ef注意分析當前終端窗口中的輸出結果:a. 顯示了多少個進程?_見截圖_b. 進程ID 的PID 是什么?_進程標識符_c. 啟動進程的命令 (CMD) 是什么?_ps_d. 請觀察,什么命令的PID
8、號是1?_init5_e. 再次運行ps ef 命令,計算進程的數目:_115_然后執(zhí)行下列命令把輸出結果輸入到wc 命令中:ps -ef | wc -l第一個數字顯示的是行的數目,也是進程的數目:_117_執(zhí)行 man ps 命令,可以打開Linux 用戶命令手冊,了解ps 命令的用法,輸入wq 命令可退出用戶手冊的閱讀。man 命令可以執(zhí)行嗎?結果如何?不可以,見截圖_步驟6:根據命令名搜索特定的進程。為了終止一個進程,必須找到該進程的PID。大多數運行的系統(tǒng)中,有上百個進程在運行,ps -ef 的列表可能很長。如果知道啟動進程的執(zhí)行程序的名字,可以更快地找到PID。通過把 ps 命令的輸
9、出結果輸入到grep 中,可以搜索想要終止的特定進程,確定正確的PID。grep 命令可以在其他命令的輸出中搜索所有類型的特征字符串。-l (長的輸出) 選項將顯示和找到的PID 相關的進程的名字;-e 選項顯示PID 和初始化命令的名字。a. 單擊紅帽子,在“GNOME 幫助”菜單中單擊“游戲”-“堆麻將”命令,打開“堆麻將”游戲。(在這個步驟時沒有認出哪個是堆麻將游戲,故而用游戲lagno代替)b. 在當前的終端窗口中,執(zhí)行命令:ps e | grep mahjongg(“堆麻將”游戲的進程名是“mahjongg”) ,查找和“堆麻將”游戲調度守護進程相關的所有進程。c. 顯示了多少個相關
10、進程?顯示了2個,見截圖d. 顯示進程中最小的進程ID 號是多少?_15015_c. 在當前終端窗口中執(zhí)行命令:pgrep l mahjongg查找所有和“堆麻將”游戲調度守護進程相關的進程。ps 和pgrep 命令輸出之間有什么不同?ps除了顯示PID和CMD以外,還顯示了TIME和TTY步驟7:確定一個要終止的進程。當試圖終止一個程序,或者釋放一個掛起的終端窗口的時候,殺死和不響應的應用相關的PID 可能還是不夠的,一般需要殺死那個進程的父進程,在少數情況下,甚至要殺死父進程的父進程。為了沿著層次結構,從子進程追溯到派生它們的父進程,必須能夠查找PID和PPID。必須首先確定最低級不響應進
11、程的 PID。通常,可以試著去殺死那個進程。如果這樣做不能夠停止那個進程,可能需要殺死它的父進程。殺死父進程將殺死所有它派生的子進程。殺死一個父進程也比殺死幾個子進程快得多。1) 在GNOME 當前終端窗口中,輸入ps 命令。有多少進程正在運行?為什么只有這么少的進程?2個,因為Ps 無選項顯示當前 shell 或終端窗口中,當前用戶的進程信息2) 正在運行的進程的名字是什么?它表示什么?bash和ps_3) 這個進程的PID 是多少?_14439和17368_4) 在bash shell 中輸入命令csh,打開一個C shell 會話,當前系統(tǒng)的會話提示符是什么?_$_5) 輸入 ps -f
12、 命令,顯示在當前shell 中運行的進程的所有信息?,F(xiàn)在什么進程正在運行?_bash -sh ps f _6) bash 的PID 是-sh (csh) 的PPID 嗎?_是_7) 輸入命令sleep l000&,創(chuàng)建一個進程,把執(zhí)行掛起1000 秒 (大約15 分鐘) 。&表示在后臺運行命令,返回shell 提示符,這樣您可以繼續(xù)工作。8) 再次輸入ps -f 命令。-sh (csh) 的PID是sleep 命令的PPID嗎?哪個PID是csh (C shell)的子進程?_是_25061和25062 9) 輸入命令 kill -9 退出C shell。然后再次鍵入ps -f 命令。什么P
13、ID 是sleep 父命令的PPID?_14439_sleep 進程現(xiàn)在是什么類型的進程?_pts/1_步驟8:使用kill 命令終止一個進程。信號用于終止、掛起和繼續(xù)進程。有時候使用Ctrl + c 可以終止一個不響應的進程。這樣向進程發(fā)送一個中斷 (INT) 信號,終止它及所有它派生的子進程。kill 命令提供了一個終止不想要的命令進程的直接方法。當想停止一個運行了很長時間的命令的時候,或者當需要終止一個不能夠正常退出的進程的時候,它很有用。指定PID正常地殺死一個進程。kill -signal process -id為了使用kill 命令終止一個進程,應該首先鍵入ps 找出進程的PID,
14、然后鍵入kill 緊跟著PID。如果使用kill 而沒有指定信號,則信號15 (SIGTERM) 將被發(fā)送給特定PID 號的進程。這叫做軟殺死,通常終止了進程。如果可能,最好軟殺死進程,這樣它可以正確地關閉文件,溫和地終止進程。如果需要強制終止一個進程,可以使用帶 -9 選項的kill 命令。這個選項叫做強制殺死,當shell 對所有其他終止信號都不響應的時候,需要使用它來殺死shell。kill -9 process -id注意:對于shell 之外的進程,把kill 9 (SIGKILL) 作為最后的選項,因為它是一種生硬的方法,不允許正確的進程終止。a. 輸入命令ps f ,顯示在當前s
15、hell 中運行的進程的完整信息?,F(xiàn)在什么進程正在運行?_圖_b. 因為sleep 進程現(xiàn)在是一個孤兒進程,已經被init 進程 (PID #l) 收養(yǎng),輸入命令,對sleep 的PID 執(zhí)行軟殺死。如果sleep 已經終止 (超過15 分鐘) ,則重復步驟7 中的8) 、9)操作,然后軟殺死sleep 程序。再次輸入ps -f 命令?,F(xiàn)在什么進程正在運行?_圖_步驟9:按照用戶查找和終止一個進程。ps 命令可以帶 -u (用戶) 選項使用,查找指定用戶的進程。這個命令比ps-ef 使用得更多,因為一般只能夠管理屬于自己的進程。我們可以通過用戶登錄名或者UID 號來查找用戶的進程。用戶只能夠終
16、止自己的進程,但是超級用戶可以終止系統(tǒng)中所有運行的進程。ps u login-ID 或UID1) 啟動計算器和“堆麻將”游戲GNOME 應用程序。2) 使用帶 -u 選項的ps 命令,查找以登錄ID (例如,userX) 或者數字UID (例如,1004)運行的所有進程。計算器應用程序的PID 是什么?_25152_圖_3) 使用軟殺死終止計算器應用程序,“堆麻將”是否仍然在桌面上運行?_是_圖_4) 使用ps -e 命令組合grep,查找“堆麻將”程序的PID 號,而不是使用ps -u 查找整個列表。您使用什么命令?提示:猜猜“堆麻將”程序的命令名中可能有哪個字母,使用 grep 搜索那些字
17、母。_ps e|grep kmah _圖_5) 終止“堆麻將”程序。它是否還在桌面上運行?_不在_6) 退出 C shell。步驟 10:刪除所有在本實驗中創(chuàng)建的文件和目錄。步驟 11:關閉終端窗口,注銷。遇到的問題1. 步驟4中發(fā)現(xiàn)每次輸入ps命令輸出的進程PID都不一樣。解決方法:查詢百度得知:即使程序相同,啟動的時間不同或者操作系統(tǒng)中已經啟動程序的數量不同,這個PID號碼也就不同。也就是說這個PID號碼是自動生成的2. 步驟4中第一次輸入ps f命令時輸出的是command not found。解決方法:仔細觀察發(fā)現(xiàn)ps與-f之間有空格,第一次輸入時沒有輸空格。3. 步驟5中輸入命令ps ef | wc l時結果顯示wc無效選項。解決方法:觀察發(fā)現(xiàn)把l誤輸為1,l的意思為line行數。4. 步驟5中運行ps ef輸出的進程數和運行ps ef | wc l直接顯示出的進程數不同,一個為115,一個為117,為什么?解決方法:該命令統(tǒng)計給定文件中的字節(jié)數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所有指定文件的總統(tǒng)計數。字是由空格字符區(qū)分開的最大字符串。wc l統(tǒng)計輸出的行數,即是符合條件的用戶數。(這是百度搜到的結果,但是對于這個問題仍然很困惑。)5. 步驟六中直接輸入ps e | grep lagno 沒有用。解決方法:先通過ps ef
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年商務談判的合同模板
- 六 美麗的校園-《認識方向》(教案)二年級上冊數學青島版
- 六年級下冊數學教案-4.1 扇形統(tǒng)計圖 ︳西師大版
- 包裝的學問(教案)2024-2025學年數學五年級下冊 北師大版
- 茶藝培訓合同(2篇)
- 學習2025年雷鋒精神六十二周年主題活動實施方案 合計4份
- 學習2025年雷鋒精神62周年主題活動實施方案 (匯編4份)
- 學習2025年雷鋒精神六十二周年主題活動實施方案 (3份)-50
- 第八單元(B卷能力篇)三年級語文下冊單元分層訓練AB卷(部編版)
- 2025年廣西培賢國際職業(yè)學院單招職業(yè)適應性測試題庫匯編
- 四川蜀道集團筆試題
- 耐甲氧西林肺炎鏈球菌(MRSP)的流行病學和分子流行病學
- DBJ50-T-420-2022建設工程配建5G移動通信基礎設施技術標準
- 2023年全國職業(yè)院校技能大賽-健身指導賽項規(guī)程
- 年“春節(jié)”前后安全自查系列用表完整
- 小學利潤問題應用題100道附答案(完整版)
- 青島版三年級下冊口算題大全(全冊)
- 醫(yī)院智能化系統(tǒng)內網、外網及設備網系統(tǒng)拓撲圖-可編輯課件
- 2024年南京科技職業(yè)學院單招職業(yè)適應性測試題庫帶答案
- DB52-T 1780-2024 醬香型白酒安全生產規(guī)范
- 【信息技術】信息技術及其應用教學課件 2023-2024學年人教-中圖版(2019)高中信息技術必修二
評論
0/150
提交評論