紅帽第9章進程管理_第1頁
紅帽第9章進程管理_第2頁
紅帽第9章進程管理_第3頁
紅帽第9章進程管理_第4頁
紅帽第9章進程管理_第5頁
已閱讀5頁,還剩26頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第9章進程管理目錄1進程2進程狀態3進程調度:優先級和更改優先級4發送信號5作業控制6調度延遲的任務:at命令7調度周期任務:cron本章所用到的命令1進程1.1工作由進程來做psaux|grephttpd>daemons.$(date+%d%b%y)1.2什么是進程進程就是程序運行的實例執行環境進程都存在于機器的物理內存中進程帶有CPU的訪問限制、執行狀態和它的優先級輸入輸出環境每個進程都在某種程度上與文件系統交流,以便讀取或寫入進程執行之前或之后存在的信息。由下面幾個部分組成打開文件描述符內存映射文件存放進程的可執行代碼文件系統環境例如進程的當前工作目錄,umask值環境變量遺留信息進程本身的身份、其子進程的身份,以及在某種程度上其同胞進程的身份都是由該進程來維護憑證每個進程在一個給定的用戶環境和組id環境下運行。資源統計和限制1.3用ps查看進程進程選擇-A,-e,ax:所有進程-U,--user,--Useruser:屬于user的所有進程輸出選擇ps命令的特征1.4使用top監控進程top命令會對單鍵作出響應1.5用gnome-system-monitor應用程序監控進程1.6用pgrep命令定位進程psaux|grepsshdpsaux|grepmaxwellpgrep-lsshd-l列出進程ID及進程名稱pgrep-lumaxwell-u列出用戶示例1:用“面向用戶”格式查看所有進程ps-eu示例2:以長格式查看用戶進程ps-Umaxwelll示例3:查看“面向任務”格式的特定命令ps-Cbashj示例4:查看自定義格式的進程psL:列出了所有可以列出的方面ps-e-oalarm,cmd2進程狀態2.1進程的生命周期進程家譜(pstree)進程如何啟動創建新進程(派生)執行新命令(exec)合二為一:派生和執行2.2進程如何終止當進程終止時,可能是通過選擇退出(exit)正常終止,也可能是因為接收到信號而非正常終止。孤兒進程僵尸進程疏忽大意的父進程和長久存在的僵尸進程2.3五種進程狀態可運行(R)一旦有機會就會訪問CPU自愿(可中斷的)睡眠(S)處于自愿睡眠狀態的進程非自愿(不可中斷或強制)睡眠(D)用戶通??床坏教幱诜亲栽杆郀顟B的進程停止的(掛起的)進程(T)用戶優勢決定掛起進程僵尸進程(Z)2.4查看進程狀態ps或者top命令的輸出時,標題stat下可運行—R睡眠—S掛起---T不可終端睡眠---D僵尸---Z示例,識別進程狀態3進程調度:優先級和更改優先級3.1進程調度術語Linux內核的一個基本任務是確保進程有效地共享系統資源,要共享一個最基本的資源是CPU,內核決定哪個進程何時在CPU上可執行被稱作調度。每個進程有兩個影響其調度的值:第一個是動態值,內核經常更改這個值,叫做進程的優先順序(priority);第二個是固定值,只是偶爾被用戶手工更改,叫做進程的優先級(niceness)。3.2進程調度要點在命令的后面加上&,可以使進程轉到后臺運行。cat/dev/zero>/dev/null&進程優先順序內核選擇擁有計數器最多的進程運行進程優先級對于任何進程,優先級從-20~19不等,默認從0開始。在調度時期,內核從分配給進程的眾多計數器中減去進程的優先級。因此,哪些優先級較高的進程得到的計數器較少,在CPU上的時間也較少。3.3改變進程的優先級用nice啟動的優先級命令nice–ncmd啟動進程cmd在進程cmd的優先級基礎之上(默認0),加上n的值n的值為:-20~19用renice改變正在運行的進程renicenpid用top命令修改進程優先級top命令,用r建修改進程優先級把進程變得更貪婪值越小,占用CPU時間越多普通用戶不能降低優先級示例1:查看優先順序示例2:用renice改變優先順序4發送信號4.1信號kill-l顯示系統信號信息4.2為什么要發送信號?硬件異常如果進程運行了除以0的計算,則發送信號8(SIGFPE)軟件狀態當進程終止時,內核會發送17(SIGCHLD)給父進程當X圖形程序的窗口大小得到調整時,應用程序會接收到28(SIGWINCH),以便能對新大小作出反應。終端中斷終端組合鍵會發送信號給bashshellCTRL+z:20(SIGTSTP)CTRL+C:2(SIGINT)其他進程kill4.3發送信號:kill命令kill-信號pid信號:數字;SIGXXX;XXX4.4接收信號執行內核默認的信號處理程序終止:接收信號的進程被殺死忽略:接收進程忽略信號core:接收進程終止,但首先把它的內存映像轉存儲到進程當前工作目錄名下為core的文件中。程序員可以用core文件幫助調試程序。停止:停止(掛起)進程選擇忽略信號選擇執行自定義信號處理程序4.5用信號終止進程普通用戶使用的重要信號信號值符號行為2SIGINT進程的中斷(請求終止)。這是有Ctrl+C控制組合鍵生成的信號9SIGKILL迫使進程終止(該信號不能被忽略)15SIGTERM請求進程終止20SIGTSTP停止(掛起)進程。這是由Ctrl+Z控制鍵生成的信號4.6kill的替代命令pkill-n:信號值,只選擇最新的(最新啟動的)匹配進程-uuser:選擇用戶user所擁有的進程-tterm:選擇由term終端控制的進程killall-i:在給進程發送信號之前詢問用戶-w:等待所有進程都被取消后再返回系統監視器(gnome-system-monitor)系統--管理--系統監視器top單擊k鍵發送命令示例1:用信號終止進程。用戶stu啟動進程xclock,firefox,試著使用kill,pkill結束進程。示例2:用信號殺死進程。如果進程對信號沒有反應,可以用最后一招,SIGKILL(信號值9)來結束進程。示例3:停止進程。5作業控制5.1在前臺運行命令在bashshell提示符運行命令時,除非特別指定,否則都是在前臺運行。5.2在后臺以作業的形式運行命令附加‘&’字符,讓命令后臺運行當bashshell在后臺運行命令時,該命令被稱為作業(job),被分配一個作業號碼5.3管理多個作業jobs列出當前運行的全部作業當前作業前面有個+號fg命令把作業置于前臺fg作業編號用Ctrl+Z掛起前臺作業重新起動掛起在后臺的作業進程處于掛起狀態才能被重啟bg作業編號5.4取消作業kill%作業編號5.5總結bashshell中的作業管理命令行為jobs列出所有作業fg[N]把后臺作業N置于前臺(默認為“當前”后臺作業)Ctrl+Z掛起當前前臺命令,并將其重置于后臺bg[N]啟動掛起的后臺作業N(默認為“當前”后臺作業)kill%N終止后臺作業N(通過發送SIGTERM信號)示例1:把在前臺運行的命令置于后臺。方法1:添加符號&方法2:運行命令,然后Ctrl+Z將命令掛起,再輸入命令bg作業編號將命令重置于后臺運行示例2:用Ctrl+C終止后臺作業將后臺作業轉為前臺運行,然后鍵入Ctrl+C終止命令6調度延遲的任務:at命令6.1守護進程crondatd6.2atd守護進程6.3用at命令提交作業at命令用來向atd守護進程提交需要在特定時間運行的作業。要運行的命令可以作為腳本提交(用-f命令選項),也可以通過標準輸入直接輸入。命令的標準輸出將用電子郵件的形式寄給用戶。

at[-ffilename][-m]Timetime的形式:HH:MM,后面附加"am"或"pm",也可以用"midnight","noon","teatime"等at14:20或at2:20pmecho"df-h"|at14:20atq:查看at命令的提交情況6.4at命令一覽at:向atd守護進程提交作業,在特定時間運行atq:用atd守護進程列出隊列里的作業atrm:在隊列里的作業運行前,取消atd守護進程隊列里的作業示例1:用at作業作為文件提交.enscript-r2-G—header=”Calendar”—borderscal.txtat-fcal.at14:00示例2:檢查at脫機語法/var/spool/at7調度周期任務:cron7.1執行周期任務7.2cron服務

溫馨提示

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

評論

0/150

提交評論