版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Chapter 7 進(jìn)程管理1Chapter 6 進(jìn)程管理進(jìn)程的概念概述Linux是一個(gè)多用戶多任務(wù)的操作系統(tǒng)。操作系統(tǒng)負(fù)責(zé)管理多個(gè)用戶的請(qǐng)求和多個(gè)任務(wù)。 操作系統(tǒng)根據(jù)每個(gè)任務(wù)的優(yōu)先級(jí)為每個(gè)任務(wù)分配合適的時(shí)間片,每個(gè)時(shí)間片大約都有幾十毫秒。每個(gè)任務(wù)都會(huì)被系統(tǒng)運(yùn)行一段時(shí)間,然后掛起,系統(tǒng)轉(zhuǎn)而處理其他任務(wù);過(guò)一段時(shí)間以后再回來(lái)處理這個(gè)任務(wù),直到該任務(wù)完成,從任務(wù)隊(duì)列中去除。 2一、 進(jìn)程的概念概述操作系統(tǒng)通過(guò)使用一系列的技術(shù)來(lái)協(xié)助完成多項(xiàng)任務(wù)的執(zhí)行:利用進(jìn)程調(diào)度技術(shù)將一個(gè)CPU虛擬為多個(gè)CPU,從而為多個(gè)任務(wù)的執(zhí)行提供了邏輯上足夠多的CPU。利用虛擬存儲(chǔ)技術(shù)將系統(tǒng)的內(nèi)存空間的大小虛擬為硬盤空間的大
2、小,從而為多個(gè)任務(wù)的執(zhí)行提供了足夠的內(nèi)存空間。利用虛擬設(shè)備和假脫機(jī)技術(shù)將有限的物理設(shè)備虛擬為被用戶使用的足夠多的邏輯設(shè)備,從而為多個(gè)任務(wù)的執(zhí)行提供了足夠的外部設(shè)備。 3一、 進(jìn)程的概念程序、進(jìn)程和作業(yè)程序程序是機(jī)器指令的集合,一般地,它以文件的形式存儲(chǔ)在磁盤上。進(jìn)程進(jìn)程是一個(gè)程序在其自身的虛擬地址空間中的一次執(zhí)行活動(dòng)。作業(yè)作業(yè)是指用戶提交給計(jì)算機(jī)進(jìn)行加工的一項(xiàng)任務(wù),它是由用戶程序、數(shù)據(jù)以及某種形式的控制信息組成。 4一、 進(jìn)程的概念程序、進(jìn)程和作業(yè)程序和進(jìn)程的比較程序只是一個(gè)靜態(tài)的指令集合;而進(jìn)程是一個(gè)程序的動(dòng)態(tài)執(zhí)行過(guò)程,它具有生命期,動(dòng)態(tài)產(chǎn)生和消亡。進(jìn)程是資源申請(qǐng)、調(diào)度和獨(dú)立運(yùn)行的單位,因此
3、,它使用系統(tǒng)中的運(yùn)行資源;程序不能申請(qǐng)系統(tǒng)資源,不能被系統(tǒng)調(diào)度,也不能作為獨(dú)立運(yùn)行的單位,因此,它不占用系統(tǒng)的運(yùn)行資源。程序和進(jìn)程無(wú)一一對(duì)應(yīng)的關(guān)系。一方面一個(gè)程序可以由多個(gè)進(jìn)程所共用;另一方面,一個(gè)進(jìn)程在生命期內(nèi)可以順序執(zhí)行若干個(gè)程序。進(jìn)程和作業(yè)的比較作業(yè)是指用戶提交給計(jì)算機(jī)進(jìn)行加工的一項(xiàng)任務(wù),而在這項(xiàng)任務(wù)中可以有不止一個(gè)程序,因此,當(dāng)一個(gè)作業(yè)運(yùn)行時(shí)就對(duì)應(yīng)了多個(gè)進(jìn)程。5一、 進(jìn)程的概念作業(yè)控制進(jìn)程控制指的是控制正在運(yùn)行的進(jìn)程的行為。在Linux中也稱為作業(yè)控制。 Shell將記錄所有啟動(dòng)的進(jìn)程情況,在每個(gè)進(jìn)程執(zhí)行過(guò)程中,用戶可以任意地掛起進(jìn)程或重新啟動(dòng)進(jìn)程。 作業(yè)控制是許多Shell的一個(gè)特性
4、,使用戶能在多個(gè)獨(dú)立進(jìn)程間進(jìn)行切換。 6一、 進(jìn)程的概念進(jìn)程的類型和啟動(dòng)方式類型:交互進(jìn)程:是由一個(gè)shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。批處理進(jìn)程:不與特定的終端相關(guān)聯(lián),提交到等待隊(duì)列中順序執(zhí)行進(jìn)程。守護(hù)進(jìn)程:在Linux啟動(dòng)時(shí)初始化,需要時(shí)運(yùn)行于后臺(tái)的進(jìn)程。7一、 進(jìn)程的概念進(jìn)程的類型和啟動(dòng)方式啟動(dòng)方式:在Linux系統(tǒng)中每個(gè)進(jìn)程都具有一個(gè)進(jìn)程號(hào)(PID),用于系統(tǒng)識(shí)別和進(jìn)程調(diào)度。啟動(dòng)一個(gè)進(jìn)程有兩個(gè)主要途徑:手工啟動(dòng)和調(diào)度啟動(dòng)。1.手工啟動(dòng)由用戶輸入命令,直接啟動(dòng)一個(gè)進(jìn)程便是手工啟動(dòng)進(jìn)程。手工啟動(dòng)進(jìn)程又可以分為前臺(tái)啟動(dòng)和后臺(tái)啟動(dòng)。前臺(tái)啟動(dòng)手工啟動(dòng)一個(gè)進(jìn)程的最常用
5、的方式。后臺(tái)啟動(dòng)很少用。2.調(diào)度啟動(dòng)這種啟動(dòng)方式是事先進(jìn)行設(shè)置,根據(jù)用戶要求讓系統(tǒng)自行啟動(dòng)。 8二、 查看系統(tǒng)中的進(jìn)程在Linux系統(tǒng)中使用ps命令對(duì)進(jìn)程進(jìn)行查看。ps是一個(gè)功能非常強(qiáng)大的進(jìn)程查看命令。ps命令的格式:# ps 選項(xiàng)ps命令的常用選項(xiàng)選項(xiàng)說(shuō)明-a顯示所有用戶的進(jìn)程(不包括沒(méi)有控制終端的進(jìn)程) -u顯示用戶名和啟動(dòng)時(shí)間 -x顯示沒(méi)有控制終端的進(jìn)程 -e顯示所有進(jìn)程,包括沒(méi)有控制終端的進(jìn)程(不包括進(jìn)程狀態(tài)欄)-c當(dāng)程序被交換到交換空間時(shí),用于顯示命令欄 -l長(zhǎng)格式顯示-w寬行輸出,不截取命令行 9二、 查看系統(tǒng)中的進(jìn)程ps命令輸出的重要信息的含義輸出項(xiàng)說(shuō)明PID進(jìn)程號(hào) PPID父進(jìn)
6、程的進(jìn)程號(hào) TTY進(jìn)程啟動(dòng)的終端 STAT進(jìn)程當(dāng)前狀態(tài),S代表休眠狀態(tài),R代表運(yùn)行狀態(tài) TIME進(jìn)程自從啟動(dòng)以來(lái)占用CPU的總時(shí)間 COMMDAN/CMD進(jìn)程的命令名 USER用戶名 %CPU占用CPU時(shí)間與總時(shí)間的百分比%MEM占用內(nèi)存與系統(tǒng)內(nèi)存總量的百分比SIZE進(jìn)程代碼大小+數(shù)據(jù)大小+??臻g大小(單位:KB)10三、 控制系統(tǒng)中的進(jìn)程Kill命令當(dāng)需要終止一個(gè)前臺(tái)進(jìn)程的時(shí)候,通常足使用Ctrl+C組合鍵;如果不能解決的,這時(shí)就必須求助于kill命令。該命令可以終止后臺(tái)進(jìn)程。下列情況需要終止系統(tǒng)中的某個(gè)進(jìn)程該進(jìn)程占用了過(guò)多的CPU時(shí)間。該進(jìn)程鎖住了一個(gè)終端,使得其他前臺(tái)進(jìn)程無(wú)法運(yùn)行。該進(jìn)程
7、已經(jīng)運(yùn)行了相當(dāng)長(zhǎng)的時(shí)間,但足沒(méi)有產(chǎn)生預(yù)期的效果。該進(jìn)程產(chǎn)生了過(guò)多的到屏幕或到磁盤文件的輸出。該進(jìn)程無(wú)法正常終止。11三、 控制系統(tǒng)中的進(jìn)程kill命令的格式:# kill -s 信號(hào)| -p a 進(jìn)程號(hào)1 進(jìn)程2 或# kill l 信號(hào)Kill命令的參數(shù)選項(xiàng)說(shuō)明pid指定被終止進(jìn)程的PID-s signal指定需要送出的信號(hào),既可以是信號(hào)名也可以是對(duì)應(yīng)的數(shù)字。如果沒(méi)有指定該參數(shù),則使用默認(rèn)信號(hào)TERM-p指定kill命令只顯示進(jìn)程的PlD,并不真正送出結(jié)束信號(hào) -e顯示信號(hào)名稱列表 12三、 控制系統(tǒng)中的進(jìn)程Linux進(jìn)程優(yōu)先級(jí)(PR),使用034的整數(shù)代表;整數(shù)值越低,標(biāo)示該進(jìn)程優(yōu)先級(jí)越高
8、nice命令nice命令用于指定進(jìn)程運(yùn)行的優(yōu)先級(jí)。其命令格式為:# nice n command例如:默認(rèn)進(jìn)程優(yōu)先級(jí)為16,要指定以26這個(gè)優(yōu)先級(jí)允許,如下# nice 10 命令例如:要指定以0這個(gè)優(yōu)先級(jí)運(yùn)行一個(gè)命令,如下# nice 16 命令renice命令可以改變一個(gè)正在運(yùn)行進(jìn)程的優(yōu)先級(jí)。其命令格式為:# renice n pid例如:# renice -10 801將原優(yōu)先級(jí)為16的進(jìn)程調(diào)整為6(優(yōu)先級(jí)變高)13三、 控制系統(tǒng)中的進(jìn)程nohup命令如果希望退出登錄后自己的進(jìn)程仍然能在后臺(tái)繼續(xù)運(yùn)行,可以使用nohup命令。nohup命令將命令執(zhí)行后的數(shù)據(jù)信息和錯(cuò)誤信息儲(chǔ)存到文件nohu
9、p.out中。nohup命令的格式為:# nohup 命令 &例如:# nohup ping 192.168.10.1 /dev/null &執(zhí)行該命令后,即使用戶退出了,仍然在后臺(tái)運(yùn)行該命令14三、 控制系統(tǒng)中的進(jìn)程top命令top命令具有進(jìn)程狀態(tài)顯示和迸程控制的功能。Top命令以動(dòng)態(tài)的方式進(jìn)行顯示,每間隔5秒鐘刷新一次。top命令的格式為:# top 選項(xiàng)選項(xiàng)說(shuō)明-d指定每?jī)纱纹聊凰⑿轮g的時(shí)間間隔-q立即更新所顯示的信息-S使用累計(jì)模式-s在安全模式下運(yùn)行top-I忽略空閑進(jìn)程和假死進(jìn)程-c顯示整個(gè)命令行而不僅只是顯示命令名15四、 自動(dòng)安排進(jìn)程任務(wù)At和batch用戶可以事先進(jìn)行調(diào)度安
10、排,指定任務(wù)運(yùn)行的時(shí)間或者場(chǎng)合,到時(shí)候系統(tǒng)會(huì)自動(dòng)完成這一切工作。 常用的命令:at:安排作業(yè)在某一時(shí)刻執(zhí)行一次。batch:安排作業(yè)在系統(tǒng)負(fù)載不重時(shí)執(zhí)行一次。cron:安排周期性運(yùn)行的作業(yè)。at命令使用at執(zhí)行作業(yè),必須將服務(wù)atd啟動(dòng)起來(lái)#/etc/init.d/atd start語(yǔ)法格式如下: at -V -q 隊(duì)列 -f 文件名 -mldbv at c 作業(yè)1 作業(yè)2 1 作業(yè)n例如:# at f /home/text 5:00 9/21/200416四、 自動(dòng)安排進(jìn)程任務(wù)At命令選項(xiàng)說(shuō)明選項(xiàng)說(shuō)明-m作業(yè)結(jié)束后將發(fā)送郵件給執(zhí)行at命令的用戶-f 從指定的文件file中讀取執(zhí)行的命令,而不
11、是從標(biāo)準(zhǔn)輸入-lat命令的一個(gè)別名,用于檢查安排的作業(yè)序列-q 指定使用的隊(duì)列,隊(duì)列名稱是單個(gè)字母,a為默認(rèn)隊(duì)列-dat命令的一個(gè)別名,用于刪除指定隊(duì)列中要執(zhí)行的命令序列-V打印at程序版本-c將作業(yè)內(nèi)容輸出到控制臺(tái)17四、 自動(dòng)安排進(jìn)程任務(wù)at命令的執(zhí)行結(jié)果執(zhí)行at命令安排作業(yè)時(shí),所有的輸出,包括標(biāo)準(zhǔn)輸出和錯(cuò)誤信息,都將會(huì)發(fā)送給提交這一命令的用戶。 如果不希望這樣把正常的輸出初錯(cuò)誤信息放在一起,可以把標(biāo)準(zhǔn)輸出重定向到其他文件或空設(shè)備。18四、 自動(dòng)安排進(jìn)程任務(wù)at命令的配置文件/etc/at.allow和/etc/at.deny。如果/ec/at.allow文件存在,那么只有列在此文件中的用
12、戶才可以便用機(jī)命令;若/etc/at.allow文件不存在,則檢查/etc/at.deny文件是否存在。若/etc/at.deny存在,則在此文件中列出的用戶都不能使用該命令。如果兩個(gè)文件都不存在,則只有超級(jí)用戶可以使用該命令。如果兩個(gè)文件都存在而且均為空,則所有用戶都可以使用該命令。19四、 自動(dòng)安排進(jìn)程任務(wù)batch命令命令的功能:安排一個(gè)或多個(gè)命令在系統(tǒng)負(fù)載較輕(即平均負(fù)載降到0.8以下)時(shí)運(yùn)行。命令的格式和用法:與at命令的格式和用法基本一致,只是不用指定運(yùn)行時(shí)間。例如:# batch f /home/text 20四、 自動(dòng)安排進(jìn)程任務(wù)應(yīng)用程序croncron命令可以來(lái)完成不斷重復(fù)的
13、任務(wù)。cron命令在系統(tǒng)啟動(dòng)時(shí)就由一個(gè)Shell腳本自動(dòng)啟動(dòng),進(jìn)入后臺(tái)。一般的用戶沒(méi)有運(yùn)行該命令的權(quán)限。使用at執(zhí)行作業(yè),必須將服務(wù)atd啟動(dòng)起來(lái)#/etc/init.d/crond start工作原理:Cron啟動(dòng)后,首先檢查是否有用戶設(shè)置了crontab文件,如果沒(méi)有就轉(zhuǎn)入“休眠”狀態(tài),釋放系統(tǒng)資源。然后每分鐘過(guò)后,查看當(dāng)前是否有需要運(yùn)行的命令。命令執(zhí)行結(jié)束后,任何輸出都將作為郵件發(fā)給crontab的所有者,或者是/etc/crontab文件中MAILTO環(huán)境變量中指定的用戶。21四、 自動(dòng)安排進(jìn)程任務(wù)應(yīng)用程序croncrontab命令crontab命令用于安裝、刪除或者列出用于驅(qū)動(dòng)cro
14、n后臺(tái)進(jìn)程的表格。每個(gè)用戶都可以有自己的crontab文件。crontab文件是通過(guò)crontab命令創(chuàng)建的。crontab命令的格式:crontab -u user crontab -u user -l|-r|-e22四、 自動(dòng)安排進(jìn)程任務(wù)crontab 命令選項(xiàng)說(shuō)明選項(xiàng)說(shuō)明-u 指定具體用戶的crontab文件將被修改-l 該選項(xiàng)將在標(biāo)準(zhǔn)輸出上顯示當(dāng)前的crontab-r 刪除當(dāng)前的crontab-e 使用VISUAL或EDITER環(huán)境變量指定的編輯器編輯當(dāng)前的crontab文件;當(dāng)結(jié)束編輯離開(kāi)時(shí),編輯后的文件將自動(dòng)安裝23四、 自動(dòng)安排進(jìn)程任務(wù)當(dāng)用戶安裝一個(gè)新的crontab文件時(shí),需要安裝來(lái)源文件,該文件每一行的格式為:Minute hour day-of-month month-of-year day-of-week commands每行中都由用空格間隔的6個(gè)字段組成。 這些項(xiàng)都不能為空,必須填入。每個(gè)時(shí)間字段都可以指定多個(gè)值,它們之間用逗號(hào)間隔。如果用戶不需要指定其中的幾項(xiàng),那么可以使用“*”代替。 cron守護(hù)進(jìn)程每分鐘被喚醒一次,當(dāng)crontab中的時(shí)間和日期與系統(tǒng)的當(dāng)前時(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版環(huán)保物流綠色包裝運(yùn)輸合同規(guī)范3篇
- 二零二五版?zhèn)€人房產(chǎn)抵押貸款債權(quán)轉(zhuǎn)讓合同3篇
- 二零二五版財(cái)務(wù)會(huì)計(jì)崗位聘用合同9篇
- 二零二五版智能家居股份制合作合同范本3篇
- 二零二五年度鋼結(jié)構(gòu)工程鋼筋加工與配送合同范本3篇
- 二零二五版工業(yè)4.0工廠生產(chǎn)承包服務(wù)合同模板3篇
- 二零二五年房產(chǎn)共有權(quán)份額轉(zhuǎn)讓產(chǎn)權(quán)買賣合同范本含份額調(diào)整方案3篇
- 二零二五版?zhèn)€人承包公司物流運(yùn)輸合作合同書(shū)6篇
- 二零二五版安徽省勞動(dòng)合同解除爭(zhēng)議調(diào)解服務(wù)合同2篇
- 二零二五年度能源股權(quán)轉(zhuǎn)讓居間服務(wù)合同范本2篇
- 大型活動(dòng)聯(lián)合承辦協(xié)議
- 工程項(xiàng)目采購(gòu)與供應(yīng)鏈管理研究
- 2024年吉林高考語(yǔ)文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
- 工程索賠真實(shí)案例范本
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報(bào)
- 個(gè)人股權(quán)證明書(shū)
- 醫(yī)院運(yùn)送工作介紹
評(píng)論
0/150
提交評(píng)論