操作系統(tǒng)實驗3-1(必做)_第1頁
操作系統(tǒng)實驗3-1(必做)_第2頁
操作系統(tǒng)實驗3-1(必做)_第3頁
操作系統(tǒng)實驗3-1(必做)_第4頁
操作系統(tǒng)實驗3-1(必做)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗三操作系統(tǒng)進程管理、實驗目的掌握系統(tǒng)進程的概念,加深對Linux/UNIX進程管理的理解。學會使用ps命令和選項。列出當前shell中的進程。列出運行在系統(tǒng)中的所有進程。根據(jù)命令名搜索特定的進程。使用kill命令終止進程。根據(jù)用戶名查找和終止進程。二、實驗環(huán)境一臺運行RedHatLinux操作系統(tǒng)的計算機。三、實驗內容與步驟步驟1:創(chuàng)建一個普通用戶(參見實驗二),以普通用戶身份登錄進入GNOME。步驟2:打開一個“終端”窗口(參見實驗二)。步驟3:回顧系統(tǒng)進程概念,完成以下填空:Linux系統(tǒng)中,幾乎每一個啟動的進程,都會由內核分配一個唯一的—PID_進程標識符,用于跟蹤從進程啟動到進程結束。當啟動新進程的時候,內核也給它們分配系統(tǒng)資源,如_處理機_和__內存___。永遠不向父進程返回輸出的進程叫做_僵進程___。由父進程派生出來的進程叫做__子___進程。___父___進程是一個派生另一個進程的進程。運行用于提供服務的Linux系統(tǒng)進程是—交互進程—。如果父進程在子進程之前結束,它創(chuàng)建了一個__管道___進程。步驟4:回顧ps命令和信息?;镜膒s命令顯示當前shell中的進程信息,用戶只能夠查看當前終端窗口中初始化的進程。輸入ps命令,將結果填入表3-3中。表3-3實驗記錄PIDTTYTIMECMD20299Pts/100:00:00bash20331Pts/100:00:00PS

下面,在當前終端窗口中,練習使用給出的每個選項的ps命令。輸入ps-f命令,顯示運行在系統(tǒng)中的某個進程的完全信息,填入表3-4中表3-4實驗記錄UIDPIDhid20299hld20336PPID2029720299STIME19:4419:48TTYpts/1pts/1TIMECMD00:00:0000:00:00bashPs-fUIDPIDhid20299hld20336PPID2029720299STIME19:4419:48TTYpts/1pts/1TIMECMD00:00:0000:00:00bashPs-f步驟5:列出系統(tǒng)中運行的所有進程。輸入ps-ef命令,顯示運行在系統(tǒng)中的各個進程的完全信息。執(zhí)行該命令,并與ps-f命令的輸出結果對照,一致嗎?有何不同?答:不一致,后者顯示了所有進程的完全可用信息,后者信息較多分析當前終端窗口中的輸出結果,記錄下來用于寫實驗報告。顯示了多少個進程?58個進程ID的PID是什么?啟動進程的命令(CMD)是什么?sched請觀察,什么命令的PID號是1?init⑸執(zhí)行ps-ef>aaa命令,將ps命令的輸出送到文本文件aaa。再次運行cataaa|wc命令,計算進程的數(shù)目。其中,cat是顯示文本文件命令?!皘”是管道命令,就是將前一個命令的輸出作為后一個命令的輸入。wc命令用來計算文本的行數(shù),第一個數(shù)字顯示的是行的數(shù)目,可以用來計算進程的數(shù)目。計算出進程數(shù)目并做記錄。[h1d^localbosth1d]Sps—[h1 □匚albosthId]S匚mta.aa1匚執(zhí)行manps命令,可以打開Linux用戶命令手冊。了解ps命令的用法。輸入wq命令可退出用戶手冊的閱讀。man命令可以執(zhí)行嗎?結果如何?可以。XA3IEps—reportpro匚e占苦statusS?P5[Sps|options|DESCRIPTIONps(1)givesasnapshotofthe匚urrEntpro匚巨芳苦e古&ITyouwantarapeti—tiveupdateofthisstatushusetopfcCOMMASI>-LISEOPTIOJtSIhisversi口tiofpsm匚匚eptssovera1kindsofoptionsfcIn1x98optionsmaybegroupedandmuatbepre匚日日HecIbyadashkBSDoptionsmaybegroupedandmustnotbeusedni£hadashuGXT1ongoptionsarepreceededby tvioda sheskOptionsofdifferenttypesmaybeJrea1y rnixedSettheI1*ANTABROKE??PSenvironment iable to for匚e RSD syntaxevenirhenoptionsarep「日匚eededbyadashuThe PS_PERSOXAL1TY environ—步驟6:確定一個要終止的進程。當試圖終止一個程序,或者釋放一個掛起的終端窗口的時候,殺死和不響應的應用相關的PID可能還是不夠的,一般需要殺死那個進程的父進程,在少數(shù)情況下,甚至要殺死父進程的父進程。為了沿著層次結構,從子進程追溯到派生它們的父進程,必須能夠查找PID和PPID。必須首先確定最低級不響應進程的PID。通常,可以試著去殺死那個進程。如果這樣做不能夠停止那個進程,可能需要殺死它的父進程。殺死父進程將殺死所有它派生的子進程。殺死一個父進程也比殺死幾個子進程快得多。在GNOME當前終端窗口中,輸入ps命令。有多少進程正在運行?為什么只有這么少的進程?答:2個,只顯示當前用戶的進程正在運行的進程的名字是什么?它表示什么?答:bash和ps前者是linux平臺的內定shell,后者是查看進程的命令。進程的PID是多少?答:20365和20397在bashshell中輸入命令csh,打開一個Cshell會話,當前系統(tǒng)的會話提示符是什么?(注:csh是和bash類似的另外一種命令解釋程序)[hld^?localhosthId]$csh[hId01ocalhost']£輸入ps-f命令,顯示在當前shell中運行的進程的所有信息。現(xiàn)在什么進程正在運行?ni>ni>rnI-cSTIMI:'TTYTIMECMDhid020:19pLs/100:00:00bashhidQ2'|:卩pLs/100:00:00-shhidmi020:24pLs/100:00:00ps—fbash的PID是-sh(csh)的PPID嗎?答:是輸入命令sleepl000&,創(chuàng)建一個進程,把執(zhí)行掛起1000秒(大約15分鐘)。&表示在后臺運行命令,返回shell提示符,這樣您可以繼續(xù)工作。8)再次輸入ps-f命令。-sh(csh)的PID是sleep命令的PPID嗎?哪些PID是csh(Cshell)的子進程?[hldOloca1host-rLIhrii>rrih匚STIMl:'TTY[hldOloca1host-rLIhrii>rrih匚STIMl:'TTY11Ml:'6[Dhid02'):10PLs/100:GO:00bashhid口珈弓02'):卩PLs/100:GO:00-shhid2'j:^sQ2'j:2Sri-5/100:0Q:00sleephid2'j:39S02'):2SPLs/100:GO:00ps-f~|Esleep1000&1000[1]201229)輸入命令kill-9<csh的PID>退出Cshell。然后再次鍵入9)輸入命令kill-9<csh的PID>sleep父命令的PPID?|hld^?lo匚mlh□苦t°」出kill-y<匚苦hch:沒有那個文件或丨丨錄.[hldfljacaihast~|SI'lMissingnameforredire匚七.|h1d^l□匚m1hosL卞2-rIll-rii>rnI-cSTIMI:'TTYTIMI:'CMDhidG2'i:10PLs/100:0G:00bashhid2i)^0SG中j:少PL=/10Q:0G:00—shhid-J1:10■:'<):2SPLs/1Q0:00:00sleep1000hid2i)-l2402'):HIrL=/l0Q:00:00ps-fsleep進程現(xiàn)在是什么類型的進程?pts/1步驟7:使用kill命令終止一個進程。信號用于終止、掛起和繼續(xù)進程。kill命令提供了一個終止不想要的命令進程的直接方法。當想停止一個運行了很長時間的命令的時候,或者當需要終止一個不能夠正常退出的進程的時候,它很有用。指定PID正常地殺死一個進程。kill[-signal]process_id為了使用kill命令終止一個進程,應該首先鍵入ps找出進程的PID,然后鍵入kill緊跟著PIDo如果使用kill而沒有指定信號,貝I」信號15(SIGTERM)將被發(fā)送給特定PID號的進程。這叫做軟殺死,通常終止了進程。如果可能,最好軟殺死進程,這樣它可以正確地關閉文件,溫和地終止進程。如果需要強制終止一個進程,可以使用帶-9選項的kill命令。這個選項叫做強制殺死,當shell對所有其他終止信號都不響應的時候,需要使用它來殺死shellokill-9process_id注意:對于shell之外的進程,把kill-(SIGKILL)作為最后的選項,因為它是一種生

硬的方法,不允許正確的進程終止。a.輸入命令ps-f,顯示在當前shell中運行的進程的完整信息?,F(xiàn)在什么進程正在a.運行?記錄下來。[hId血1LTDhidhId□匚mlhoslP[hId血1LTDhidhId□匚mlhoslP【D20-13120^62hIdJS卩F【D2042920431STIME20:-L920:50TTYPts/lpt=/lTLMIZ00:00:000():00:0Qps-£bajslib.因為sleep進程現(xiàn)在是一個孤兒進程,已經(jīng)被init進程(PID#1)收養(yǎng),輸入命令,對sleep的PID執(zhí)行軟殺死。如果sleep已經(jīng)終止(超過15分鐘),則重復步驟6中的4)、7)、9)操作,然后軟殺死sleep程序。再次輸入ps-f命令?,F(xiàn)在什么進程正在運行?[h ocalho&LLTD [h ocalho&LLTD P【Dbld 20hL31hId 20162hIdjSpi卩P[DC20420 020431 0STIMt20U920:50TTYPts/lTLMIZ00:00:0000:00:00bcjwhps—£步驟8:按照用戶查找和終止一個進程。ps命令可以帶-u(用戶)選項使用,查找指定用戶的進程。這個命令比ps-ef使用得更多,因為一般用戶只能夠管理屬于自己的進程。我們可以通過用戶登錄名或者UID號來查找用戶的進程。用戶只能夠終止自己的進程,但是超級用戶可以終止系統(tǒng)中所有運行的進程。ps-ulogin-ID或UID1)啟動附件菜單中的任意一個應用程序(例如計算器應用程序)。2)使用帶-u選項的ps命令,查找以登錄ID運行的所有進程。計算器應用程序的PID是什么?Ih oca1hosthId]SpsCpidItty TIME 匚MD20516pts/'l 00:00:00 bash?054slpt=/l 00:00:00 ps~ ocalhoslhId]S3) 使用軟殺死終止計算器應用程序??匆豢此欠襁€在桌面上運行?4) 再次啟動附件中的計算器應用程序。猜猜計算器應用程序的命令名中可能有哪些字母,使用下面的命令搜索應用程序以及PID:pgrep-l命令的

溫馨提示

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

評論

0/150

提交評論