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

下載本文檔

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

文檔簡介

第11章進程和信號第11章進程和信號1進程的結構,調度和類型。2用不同的方法啟動新的進程。3父進程,子進程和僵尸進程。4什么是信號以及如何使用它們。第11章進程和信號進程的概念進程管理命令計劃任務11.1進程管理相關概念進程的概念:進程簡單來說就是在操作系統中運行的程序,它是操作系統資源管理的最小單位。程序和進程的區別:(1)程序是個靜態概念,本身作為一種軟件資源長期保存;而進程是程序的執行過程,是一個動態概念,有一個生命周期,是動態產生和消亡的。(2)程序和進程無一一對應關系。一個程序可以由多個進程共用,另一方面,一個進程在活動中又可以順序執行若干個程序。一、程序和進程二、父進程與子進程父子進程之間的關系:子進程是由一個進程產生的進程,產生這個子進程的進程稱為父進程。在linux系統中使用系統調用fork創建進程。fork復制的內容包括父進程的數據,堆棧段以及父進程的進程環境。父進程終止子進程自然終止。如果父進程終止了而子進程沒有終止,子進程則變成孤兒進程,它的父進程會自動被指向到init。如果子進程終止了,而父進程不知道,子進程會變成僵尸進程。(進程的數字標示:PID,父進程:PPID)三、前臺進程和后臺進程前臺進程:在shell提示處打入命令后,創建一個子進程,運行命令,shell等待命令退出,然后返回到對用戶給出提示符。這條命令與shell異步運行,即在前臺運行,用戶在它完成之前不能執行另一命令。后臺進程:

在shell提示處打入命令,若后隨一個&,shell創建的子進程運行此命令,但不等待命令退出,直接返回到對用戶給出提示符。這條命令與shell同步運行,即在后臺運行,后臺進程必須是非交互式的。四、進程狀態就緒:進程已經分配到資源,但因為其他進程正在占用CPU,所以暫時不能運行而等待分配CPU的狀態。等待:因等待某種事件暫時不能運行的狀態。運行:進程分配到CPU,正在處理器上運行。進程狀態細化進程狀態細化用戶態運行:在CPU上執行用戶代碼核心態運行:在CPU上執行核心代碼在內存就緒:具備運行條件,只等調度程序為它分配CPU在內存睡眠:因等待某一事件的發生,而在內存中排隊等待在外存就緒:就緒進程被交換到外存上繼續處于就緒狀態在外存睡眠:睡眠進程被交換到外存上繼續等待在內存暫停:因調用stop程序而進入跟蹤暫停狀態,等待其父進程發送命令在外存暫停:處于跟蹤暫停狀態的進程被交換到外存上創建態:新進程正在被創建、但尚未完畢的中間狀態終止態:進程終止自己11.2進程的結構及管理命令進程結構:代碼段、數據段、堆棧段進程管理常用命令查看用戶信息命令w(who)w顯示信息的含義JCPU:以終端代號來區分,該終端所有相關的進程執行時所消耗的CPU時間會顯示在這里。PCUP:CPU執行程序耗費的時間WHAT:用戶正在執行的操作。查看個別用戶信息:w用戶名loadaverage:分別顯示系統于過去1、5、15分鐘內的平均負載程度。FORM:顯示用戶從何處登陸系統,“:O”的顯示代表該用戶是從xWindows下,打開文本模式窗口登陸的.IDLE:用戶閑置的時間。這是個計時器,一旦用戶執行任何操作,該計時器便會被重置。查看用戶信息命令w(who)進程查看命令PS-A顯示所有進程(等價于-e)(utility)-----all

-a顯示一個終端的所有進程,除了會話引線

-N忽略選擇。

-d顯示所有進程,但省略所有的會話引線(utility)

-x顯示沒有控制終端的進程,同時顯示各個命令的具體路徑。)

-ppid進程使用cpu的時間

-uuidorusername選擇有效的用戶id或者是用戶名

-ggidorgroupname顯示組的所有進程。-w寬屏顯示,可以使用多個w進行加寬顯示進程查看命令PS-f全部列出,通常和其他選項聯用。如:ps-faorps-fxandsoon.

-l長格式(有F,wchan,C等字段)------顯示詳細信息

-j作業格式

-o用戶自定義格式。

v以虛擬存儲器格式顯示

s以信號格式顯示

-m顯示所有的線程

-H顯示進程的層次(和其它的命令合用,如:ps-Ha)(utility)

e命令之后顯示環境如:ps-de;ps-aeh不顯示第一行

進程查看命令PSps常用輸出信息含義:PID:進程號PPID:父進程的進程號TTY:進程啟動的終端STAT:進程當前狀態S休眠狀態、D不可中斷狀態的休眠狀態、R運行狀態、Z僵死狀態、T停止NI:進程優先級TIME:進程自從啟動以來啟用CPU的總時間COMMAND/CMD:進程的命名名USER:用戶名%CPU:占用CPU時間和總時間的百分比%MEM:占用內存與系統內存總量的百分比進程查看命令PSps應用案例#ps查看隸屬于當前用戶的進程#ps-u或#ps-l查看隸屬于當前用戶進程的詳細信息進程查看命令PSps應用案例#ps-l查看隸屬于當前用戶進程的詳細信息

#ps-ups-l查看隸屬于當前用戶進程的詳細信息進程查看命令PSps應用案例#ps-le或#ps-aux查看所有用戶執行的進程的詳細信息(more)

#ps-auxlmore進程查看命令PSps應用案例#ps-aux|grephttpd#ps-aux--shortuid或pid或time由小到大排序進程查看命令PSps應用案例#ps-aux|grepsam#ps-uUsam查看系統中指定用戶執行的進程進程查看命令PSps應用案例

#ps-le|grepinit查看指定進程信息init進程它的進程號位1,它父進程內核調度器進程號為0。進程查看命令PSps應用案例

#pstree|more查看系統中所用進程信息kill--殺死進程為什么要殺死進程?該進程占用了過多的CPU時間該進程鎖住了一個終端,使其他前臺進程無法運行運行時間過長,但沒有預期效果產生過多到屏幕或磁盤文件的輸出無法正常退出kill--關閉進程關閉進程:kill進程號kill-9進程號(強行關閉)kill-1進程號(進程重啟)關閉圖形程序:xkill結束所有進程:killall查找服務進程號:pgrep服務名稱關閉進程:pkill進程號kill--殺死進程#kill進程號(子進程號)關閉進程#kill進程號(父進程號)關閉進程kill--殺死進程#kill-l列出kill所有的信號kill--殺死進程#kill-9(早期#kill-s9)9信號SIGKILL--強行關閉早期init進程可以被系統管理員通過kill-9關閉,結果是系統重啟。現在的linux系統里面不能進行這樣的操作了。kill-1進程號進程重啟。xkill鼠標點擊任何圖形程序。就可已關閉該圖形程序,如果你執行xkill鼠標沒地方可點,點擊右鍵就可以取消。但是千萬別對著桌面點,系統會認為你要關閉xwindows,結果xwindows會運行錯誤。killall關閉所有同名的進程特殊命令

系統目錄下有個proc目錄,他是process的縮寫。它并不是存放在硬盤上的,而是存放在內存鏡像中。里面存放的都是每個進程的pid所命名的目錄名。同時還存放系統信息。比如可以在/proc/cpuinfocpu的信息。proc目錄#pgrep服務名所有進程的pid如果沒啟動就不顯示,如果啟動就如下圖。用#pkill服務名稱就可以關閉服,不需要知道進程的pidnice和renicenice指定程序的運行優先級格式:nice-ncommand例如:nice-5myprogramrenice改變一個正在運行的進程的優先級格式:renicenpid例如:renice-5777優先級取值范圍(-20,19),默認0,值越小優先權越大nice和renice啟動一個服務通過查看命令,可以查看進程的默認優先級是0。啟動一個服務時通過nice直接修改進程的優先級為-5nice和renice不需要停止服務,用renice改變服務進程的優先級為-30nohup命令使進程在用戶退出登陸后仍舊繼續執行,nohup命令將執行后的數據信息和錯誤信息默認保存在文件nohup.out中。格式:nohupprogram&進程的掛起和恢復進程的掛起掛起(Ctrl+Z)終止(Ctrl+C)進程的恢復恢復到前臺繼續執行(fg)恢復到后臺繼續執行(bg)查看被掛起的進程(jobs)top命令作用:進程狀態顯示和進程控制,每5秒鐘自動刷新一次(動態顯示)常用選項(退出top用q)d:指定刷新的時間間隔c:顯示整個命令行而不僅僅顯示命令名u:顯示指定用戶的進程k:終止正在執行的進程hor?:獲得幫助r:重新設置進程優先級s:改變刷新的時間間隔w:將當前設置寫入~/.toprc文件中計劃任務為什么要設置計劃任務一次性計劃任務周期性計劃任務計劃任務的命令at:安排作業在某一時刻執行一次batch:安排作業在系統負載不重時執行一次cron:安排周期性運行的作業at命令的功能和格式功能:安排一個或多個命令在指定的時間運行一次at的命令格式及參數at[-f文件名]時間at-doratrm刪除隊列中的任務at-loratq查看隊列中的任務at命令指定時間的方式絕對計時方式midnightnoonteatimehh:mm[today]hh:mmtomorrowhh:mm星期hh:mmMM/DD/YY相對計時方法now+nminutesnow+nhoursnow+ndaysat命令指定時間的方式指定在今天下午17:30執行某命令(現在時間是上午9:30,2015.10.27)。命令格式如下:at5:30pmat17:30at17:30todayatnow+8hoursatnow+480minutesat17:3010.27.15at17:3010/27/15書寫at命令需要些絕對路徑。寫完以后按Ctrl+D保存如到時間沒有執行這個計劃任務,可用finger命令查看at命令使用范例交互方式(Ctrl+D保存)at9:00使用命令文件at.script:at-fat.script9:0010/29/15at<at.script9:0010/29/15finger查看計劃任務at命令執行情況#fingerroot查詢是否有計劃任務和如何刪除計劃任務#at-l或者#atq查詢當前所有沒被執行的計劃任務計劃任務號:4用戶:user狀態:active存放at計劃任務的地址文件查詢是否有計劃任務#at-l或者#atq查詢當前所有沒被執行的計劃任務at計劃任務命令語句內容如何刪除計劃任務#at-d計劃任務號或者#atrm計劃任務號刪除第4號計劃任務at配置文件限制哪些用戶可以使用at命令/etc/at.allow/etc/at.deny配置文件允許使用at配置文件禁止使用atat命令使用規則:若/etc/at.allow文件存在,則只有列在此文件中的用戶才可以使用at命令;若/etc/at.allow文件不存在,則檢查/etc/at.deny文件是否存在。若/etc/at.deny存在,則在此文件中列出的用戶都不能使用at命令。如果兩個文件都不存在,則只有超級用戶可以使用at命令。如果兩個文件都存在且均為空,則所以用戶都可以使用at文件。#manat獲得at命令的幫助信息#man命令名獲得幫助batch命令作用:安排一個或多個命令在系統負載較輕的時運行一次(一般情況下負載較輕指平均負載降到0.8以下)。使用方法同at。(唯一的區別就是batch會檢測系統負載)周期性計劃任務crontab命令格式作用:用于生產cron進程所需要的crontab文件crontab的命令格式crontab{-l|-r|-e}-l:顯示當前的crontab-r:刪除當前的crontab-e:使用編輯器編輯當前的crontab文件crontab命令格式時間表示crontab-eminutehourday-of-monthmonth-of-yearday-of-weekcommandsminute一小時中的哪一分鐘[0-59]hour一天中的哪個小時[0-23]day-of-month一月中的哪一天[1-31]month-of-year一年中的哪一月[1-12]day-of-week一周中的哪一天[0-6]commands執行的命令crontab命令格式時間表示編輯crontab命令時間書寫規則:把知道的具體時間填上,把不知道的時間填上*分鐘小時天月星期命令/腳本例如:某網絡公司每天凌晨3點鐘做一個服務器備份任務。crontab-e分鐘小時天月星期命令/腳本03***/bin/cp-r/etc/backup/etc.201510292>/backup/etc.bak.err(>dev/null)例如:某網絡公司一月到三月每周二和周五的下午6點鐘做一個服務器備份任務。crontab-e分鐘小時天月星期命令/腳本018*1-32,5例如:周一到周五下午16:30分提醒每個用戶系統在16:45分自動關機希望保存數據。crontab-e分鐘小時天月星期命令/腳本3016**1-5/usr/bin/wall</etc/issue4516**1-5/sbin/shutdown-hnowcrontab命令格式時間表示例如:學校服務器每隔2分鐘檢測init進程是否關閉,如果關閉就啟動。crontab-e分鐘小時天月星期命令/腳本*/212-14*3-6,9-121-5*crontab書寫計劃任務的注意事項:這些項都不能為空,必須填寫如果用戶不需要指定其中的幾項,那么可以使用通配符*表示任何時間沒每個時間字段都可以指定多個值,他們之間用逗號間隔,連續值用-連接命令應該給出絕對路徑用戶必須具有運行所對應命令后程序的權限crontab命令示例#crontab-e5517**1-5/usr/bin/wall>/etc/motd018**1-5/sbin/init500115*1/bin/cp-r/etc/backup/etc.1029crontab文件建立好以后可以到/var/spool/cron目錄確認crontab命令示例crontab文件目錄,文件名稱為root都可以查看crontab計劃任務內容刪除crontab計劃任務內容,但不建議使用,如果多個計劃,不知道刪除哪一個。可在crontab-e編輯中直接刪除相關計劃任務命令行就ok了crontab計劃任務沒有按時執行檢查crond是否啟動檢查crond是否啟動啟動crond啟動crond通過計劃任務

溫馨提示

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

評論

0/150

提交評論