Linux課件 第八講 Linux的進(jìn)程管理_第1頁(yè)
Linux課件 第八講 Linux的進(jìn)程管理_第2頁(yè)
Linux課件 第八講 Linux的進(jìn)程管理_第3頁(yè)
Linux課件 第八講 Linux的進(jìn)程管理_第4頁(yè)
Linux課件 第八講 Linux的進(jìn)程管理_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第八講 Linux的進(jìn)程管理目的、要求了解Linux進(jìn)程類(lèi)型、進(jìn)程運(yùn)行狀態(tài)以及常用的守護(hù)進(jìn)程,掌握進(jìn)程的監(jiān)視、控制和調(diào)度方法,重點(diǎn)掌握系統(tǒng)引導(dǎo)過(guò)程及相關(guān)引導(dǎo)配置文件的作用,以達(dá)到控制系統(tǒng)引導(dǎo)過(guò)程的目的。 Linux 進(jìn)程簡(jiǎn)述Linux 是一個(gè)多任務(wù)、多用戶網(wǎng)絡(luò)操作系統(tǒng),從操作系統(tǒng)的內(nèi)部結(jié)構(gòu)看,一個(gè)任務(wù)(task)就是一個(gè)進(jìn)程(Process)。Linux操作系統(tǒng)支持多個(gè)進(jìn)程的并發(fā)運(yùn)行,每個(gè)進(jìn)程具有一定的功能和權(quán)限,它們都運(yùn)行在各自獨(dú)立的虛擬地址空間。各種計(jì)算機(jī)資源(如文件、內(nèi)存、CPU等)的分配和管理都是以進(jìn)程為基本單位。為了協(xié)調(diào)多個(gè)進(jìn)程對(duì)這些共享資源的訪問(wèn),操作系統(tǒng)要跟蹤所有進(jìn)程的活動(dòng)和進(jìn)程

2、使用系統(tǒng)資源的情況,從而實(shí)施對(duì)進(jìn)程和資源的動(dòng)態(tài)管理。什么是Linux進(jìn)程 進(jìn)程是在操作系統(tǒng)中執(zhí)行特定任務(wù)的動(dòng)態(tài)實(shí)體 。程序是存儲(chǔ)在計(jì)算機(jī)磁盤(pán)上包含可執(zhí)行代碼和數(shù)據(jù)的靜態(tài)實(shí)體 。一個(gè)可執(zhí)行程序裝入Linux操作系統(tǒng)中運(yùn)行時(shí),它就形成了進(jìn)程。Linux操作系統(tǒng)中每個(gè)運(yùn)行中的程序至少由一個(gè)進(jìn)程組成。每個(gè)進(jìn)程相互獨(dú)立,一個(gè)用戶的應(yīng)用程序不會(huì)干擾到其他用戶的程序或操作系統(tǒng)本身。Linux進(jìn)程執(zhí)行模式分為用戶模式和內(nèi)核模式兩種。如果當(dāng)前運(yùn)行的是用戶程序、應(yīng)用程序或者內(nèi)核之外的系統(tǒng)程序,那么對(duì)應(yīng)進(jìn)程就在用戶模式下運(yùn)行;如果在用戶程序執(zhí)行過(guò)程中出現(xiàn)系統(tǒng)調(diào)用或者發(fā)生中斷事件,就要運(yùn)行操作系統(tǒng)的核心程序,進(jìn)程模式

3、就變?yōu)閮?nèi)核模式。在內(nèi)核模式運(yùn)行的進(jìn)程可以執(zhí)行機(jī)器的特權(quán)指令,而且該進(jìn)程的運(yùn)行不受用戶包括root用戶的干預(yù)。另外,Linux系統(tǒng)設(shè)定了每個(gè)用戶調(diào)用程序產(chǎn)生的進(jìn)程的權(quán)限無(wú)法超越該用戶的權(quán)限,從而達(dá)到更高的系統(tǒng)安全性。Linux三種不同類(lèi)型的進(jìn)程 1. 交互進(jìn)程在Linuxshell中啟動(dòng)的進(jìn)程,既可以在前臺(tái)運(yùn)行,以可以在后臺(tái)運(yùn)行,與終端有關(guān)。2. 批處理進(jìn)程這種進(jìn)程與終端沒(méi)有聯(lián)系,是一個(gè)進(jìn)程的序列。3. 守護(hù)進(jìn)程Linux引導(dǎo)過(guò)程中啟動(dòng)的進(jìn)程,在后臺(tái)運(yùn)行,并隨時(shí)響應(yīng)用戶的請(qǐng)求。Linux進(jìn)程的四種運(yùn)行狀態(tài) (1) 運(yùn)行態(tài)(Running):僅有一個(gè)進(jìn)程正在運(yùn)行,處于運(yùn)行態(tài)的進(jìn)程獨(dú)占了CPU資源。

4、(2) 等待態(tài)(Sleeping):此時(shí)進(jìn)程在等待一個(gè)事件的發(fā)生或某種系統(tǒng)資源(系統(tǒng)資源準(zhǔn)備好后即轉(zhuǎn)入運(yùn)行態(tài)),或者進(jìn)程處于運(yùn)行隊(duì)列中(處于隊(duì)列中的第一個(gè)進(jìn)程即轉(zhuǎn)入運(yùn)行態(tài))。(3) 停止態(tài)(Stopped):進(jìn)程被停止,通常是接收一個(gè)進(jìn)程終止信號(hào)。正在被調(diào)試的進(jìn)程可能處于停止?fàn)顟B(tài)。如kill 命令4. 僵死態(tài)(Zombie):由于某種原因被終止的進(jìn)程,但是該進(jìn)程的控制結(jié)構(gòu)體仍然保留在內(nèi)在中。Linux守護(hù)進(jìn)程 守護(hù)進(jìn)程(Daemon)是指在后臺(tái)運(yùn)行而沒(méi)有終端或登錄shell與之結(jié)合在一起的進(jìn)程。守護(hù)進(jìn)程經(jīng)常在系統(tǒng)啟動(dòng)時(shí)開(kāi)始運(yùn)行,在系統(tǒng)結(jié)束時(shí)停止。Linux操作系統(tǒng)有許多標(biāo)準(zhǔn)的守護(hù)進(jìn)程,其中,有

5、周期性運(yùn)行來(lái)完成特定任務(wù)的crond進(jìn)程和運(yùn)行中等待并響應(yīng)用戶請(qǐng)求的httpd、xinetd、cups等進(jìn)程。 進(jìn)程的四種啟動(dòng)方法 . 引導(dǎo)啟動(dòng)系統(tǒng)引導(dǎo)程序啟動(dòng)init進(jìn)程(是所有進(jìn)程的父進(jìn)程,進(jìn)程號(hào)為),再根據(jù)運(yùn)行級(jí)別Runlevel決定啟動(dòng)其它進(jìn)程。這些進(jìn)程啟動(dòng)腳本程序位于目錄/etc/rc.d/rcN.d下。其中N為L(zhǎng)inux操作系統(tǒng)的運(yùn)行級(jí)別,可分為06共七種,由配置文件/etc/inittab決定。Linux系統(tǒng)引導(dǎo)成功后,用戶可以輸入init命令切換到不同的運(yùn)行級(jí)別,命令格式為:# init運(yùn)行級(jí)別數(shù)其中:Runlevel 0:表示關(guān)機(jī)。Runlevel 1:表示單用戶模式,通常用

6、于系統(tǒng)維護(hù)。Runlevel 2:表示不支持網(wǎng)絡(luò)的多用戶模式。Runlevel 3:表示進(jìn)入網(wǎng)絡(luò)多用戶文本界面操作環(huán)境。Runlevel 4:表示用戶定義模式,未定義情況下與相同。Runlevel 5:表示進(jìn)入X window多用戶圖形界面操作環(huán)境。Runlevel 6:表示系統(tǒng)重啟。 2. 從shell中直接啟動(dòng)任何具有程序執(zhí)行權(quán)限的用戶都可以使用這種方法啟動(dòng)進(jìn)程。根據(jù)用戶直接輸入命令來(lái)啟動(dòng)進(jìn)程的不同,可分為前臺(tái)和后臺(tái)啟動(dòng)。前臺(tái)啟動(dòng)是啟動(dòng)進(jìn)程最常用的方式,如輸入命令#ls l。當(dāng)進(jìn)程需要耗費(fèi)很長(zhǎng)時(shí)間時(shí),可以使用后臺(tái)啟動(dòng)進(jìn)程方法,以便讓出控制臺(tái)給其他用戶。方法是在前臺(tái)啟動(dòng)后加上“&”符號(hào)。輸入

7、后出現(xiàn)一個(gè)數(shù)字,這個(gè)數(shù)字就是該進(jìn)程的編號(hào)(PID)。如在系統(tǒng)中查找httpd.conf文件的后臺(tái)進(jìn)程的命令為。#find / -name httpd.conf &. 使用crond啟動(dòng)進(jìn)程crond守護(hù)進(jìn)程將根據(jù)配置文件/etc/crontab和/var/spool/cron目錄,尋找以/etc/passwd文件中系統(tǒng)用戶名來(lái)命名的crontab文件,被找到的這個(gè)文件將載入內(nèi)存,定時(shí)、重復(fù)啟動(dòng)配置文件設(shè)定的程序。如:系統(tǒng)要每天定時(shí)對(duì)用戶數(shù)據(jù)備份到一個(gè)固定的目錄下,就要用crond來(lái)完成。配置文件/etc/crontab由系統(tǒng)使用,而普通用戶則通過(guò)執(zhí)行命令$crontab完成自己配置工作。配置文

8、件的行格式為:分鐘 小時(shí) 每月中的某天 月份 每周中的某天 執(zhí)行的命令方法是用命令$crontab e 編輯任務(wù)列表如每小時(shí)35分執(zhí)行test用戶家目錄下的程序sum 的格式為:35 * * * * /home/test/sum每周的星期二每小時(shí)分執(zhí)行date命令的格式為:1 * * * 1 date另外,可以用命令$crontab l、$crontab r分別查詢和刪除所定制的任務(wù)。.執(zhí)行at命令啟動(dòng)用at命令指定在規(guī)定的時(shí)間執(zhí)行一個(gè)指定的程序。at命令的語(yǔ)法格式如下:$ at 時(shí)間 (時(shí):分月日年)然后繼續(xù)輸入需要執(zhí)行的命令,最后用Ctrl+D組合鍵結(jié)束設(shè)定。$ at 16:20 回車(chē)鍵u

9、pdatedb Ctrl+D另外,可以用命令atq、atrm分別查詢和刪除at定制的任務(wù)。查看進(jìn)程信息 top指令的使用方法 #top命令能夠?qū)崟r(shí)顯示系統(tǒng)當(dāng)前的進(jìn)程及其狀態(tài)。 ps指令的使用方法ps 選項(xiàng)以下是ps命令常用的選項(xiàng)及其含義。-a:顯示系統(tǒng)中與tty相關(guān)的所有進(jìn)程的信息。-e:顯示系統(tǒng)所有進(jìn)程及執(zhí)行時(shí)間信息。-l:顯示每個(gè)進(jìn)程的詳細(xì)信息。 r:顯示正在運(yùn)行的進(jìn)程。 u:列表進(jìn)程中同時(shí)顯示用戶名。 x:顯示所有包括非登錄用戶的進(jìn)程。如:ps aux|grep nfs進(jìn)程的調(diào)度方法 進(jìn)程的掛起與恢復(fù)使用組合鍵Ctrl+Z和命令$fg能夠完成對(duì)進(jìn)程的掛起與恢復(fù)操作。組合鍵Ctrl+Z用于

10、掛起一個(gè)正在前臺(tái)運(yùn)行的進(jìn)程,并把一個(gè)前臺(tái)進(jìn)程放置后臺(tái)運(yùn)行,它與在命令行下用&符號(hào)啟動(dòng)后臺(tái)進(jìn)程是等價(jià)的。命令$fg用于將一個(gè)后臺(tái)運(yùn)行的或被Ctrl+Z掛起的進(jìn)程調(diào)到前臺(tái)運(yùn)行。兩者的格式如下:$fg 作業(yè)號(hào) 用戶后臺(tái)所有進(jìn)程可以用命令$job顯示其作業(yè)號(hào)。結(jié)束進(jìn)程要結(jié)束一個(gè)前臺(tái)運(yùn)行的程序或進(jìn)程,通常使用Ctrl+C組合鍵。對(duì)于一個(gè)后臺(tái)或系統(tǒng)引導(dǎo)啟動(dòng)的守護(hù)進(jìn)程,無(wú)法使用Ctrl+C組合鍵來(lái)結(jié)束進(jìn)程。命令# kill是專門(mén)用于終止進(jìn)程的命令,它通過(guò)向進(jìn)程發(fā)送指定的信息來(lái)結(jié)束進(jìn)程。如果沒(méi)有指定發(fā)送信息,則默認(rèn)為T(mén)ERM的終止信號(hào)。命令的格式如下:$kill 選項(xiàng)信號(hào)進(jìn)程號(hào)或$killall 守護(hù)進(jìn)程名以

11、下是kill命令常用的選項(xiàng)及其含義。-s:指定需要送出的信號(hào),既可以是信號(hào)名也可以是對(duì)應(yīng)數(shù)字。-l:顯示所有64個(gè)信號(hào)名稱列表。-9:表示強(qiáng)制性終止進(jìn)程。例如:# killall httpd /終止所有Apache進(jìn)程# kill -9 2731/強(qiáng)制性終止2731號(hào)進(jìn)程設(shè)定進(jìn)程優(yōu)先級(jí)命令nice和renice 處于等待態(tài)(Sleeping)的進(jìn)程是按照其優(yōu)先級(jí)來(lái)運(yùn)行的,優(yōu)先級(jí)別高的進(jìn)程將優(yōu)先獲得系統(tǒng)資源和被運(yùn)行。nice命令可以設(shè)定程序以何優(yōu)先級(jí)別運(yùn)行,而renice命令能動(dòng)態(tài)調(diào)整進(jìn)程的優(yōu)先級(jí)別。進(jìn)程優(yōu)先級(jí)別(pri)取值范圍是-20至19。較小值代表較高的優(yōu)先級(jí)別。只有root用戶可以設(shè)定

12、負(fù)值的優(yōu)先級(jí)。普通用戶只能降低,不能提高自己進(jìn)程的優(yōu)先級(jí)。所有用戶啟動(dòng)進(jìn)程的優(yōu)先級(jí)為0。例如:# nice -18 find / -name file1 /以-18的高優(yōu)先級(jí)別運(yùn)行查找文件命令find。$ renice 15 1233 /用戶降低自己程序1233進(jìn)程的優(yōu)先級(jí)別為15。Linux的啟動(dòng)過(guò)程 了解Linux系統(tǒng)的引導(dǎo)過(guò)程對(duì)于掌握Linux系統(tǒng)至關(guān)重要。Linux的啟動(dòng)過(guò)程大致分為:系統(tǒng)加電BIOSMBR(Master Boot Record)GRUBLinux映像內(nèi)核啟動(dòng)RunlevelinitLogin的過(guò)程。其中:系統(tǒng)加電后BIOS讀取MBR的GRUB引導(dǎo)程序,讀取Linux映

13、像啟動(dòng)系統(tǒng),并把控制權(quán)交給內(nèi)核,內(nèi)核執(zhí)行init初始化程序,根據(jù)文件/etc/inittab設(shè)定的Runlevel 運(yùn)行級(jí)別N值,執(zhí)行位于目錄/etc/rc.d/rcN.d下的程序,系統(tǒng)啟動(dòng)過(guò)程中還有很重要的一步就是根據(jù)文件系統(tǒng)配置文件/etc/fstab掛載相應(yīng)的文件系統(tǒng),對(duì)該文件的不當(dāng)設(shè)定會(huì)引起系統(tǒng)無(wú)法正常啟動(dòng)。最后,系統(tǒng)執(zhí)行/etc/rc.local文件并提供用戶登錄界面,進(jìn)而完成系統(tǒng)的啟動(dòng)工作。用戶登錄成功后執(zhí)行/etc/profile、/etc/bashrc和位于目錄/etc/profile.d下的所有文件來(lái)設(shè)定共同的用戶環(huán)境,之后再單獨(dú)執(zhí)行用戶家目錄下的.bash_profile和

14、.bashrc文件來(lái)設(shè)定登錄用戶的個(gè)性用戶環(huán)境。/etc/issue為用戶登錄前顯示內(nèi)容的文件。幾個(gè)重要的引導(dǎo)配置文件 /boot/grub.conf文件此文件是開(kāi)源GRUB引導(dǎo)程序的配置文件,可以配置實(shí)現(xiàn)多操作系統(tǒng)的引導(dǎo),格式如下:default=1timeout=10splashimage=(hd0,9)/boot/grub/splash.xpm.gzfontfile=(hd0,9)/boot/grub/fontstitle Red Hat Enterprise Linux AS/64 (2.6.9-11.EL) root (hd0,8) kernel /boot/vmlinuz-2.6.

15、9-11.EL ro root=LABEL=/123 rhgb quiet initrd /boot/initrd-2.6.9-11.EL.imgtitle Windowsrootnoverify (hd0,0)chainloader +1/etc/inittab文件此文件是Linux系統(tǒng)運(yùn)行級(jí)別的配置文件,可以用來(lái)配置系統(tǒng)啟動(dòng)的運(yùn)行級(jí)別。id:3:initdefault:ca:ctrlaltdel:/sbin/shutdown -t3 -r now/etc/fstab文件 此文件是Linux系統(tǒng)引導(dǎo)過(guò)程中自動(dòng)掛載文件系統(tǒng)的配置文件。要實(shí)施用戶或組的磁盤(pán)配額限定也必須修改此文件,該文件的不當(dāng)配

16、置會(huì)引起系統(tǒng)的無(wú)法引導(dǎo)。格式如下:LABEL=/ / ext3 defaults 1 1/dev/sda8 swap swap defaults 0 0第五字段1表示用#dump備份文件系統(tǒng),并通過(guò)/etc/dumpdates來(lái)指定備份的目標(biāo),0為不作備份。第六字段1表示檢查文件系統(tǒng)的順序。0為不檢查。/etc/rc.local文件 此文件是Linux系統(tǒng)引導(dǎo)過(guò)程中系統(tǒng)級(jí)環(huán)境設(shè)定的最后執(zhí)行文件,root用戶可以通過(guò)它定制系統(tǒng)運(yùn)行環(huán)境,一般地,每行為一個(gè)執(zhí)行命令。格式如下:#!/bin/shtouch /var/lock/subsys/local/生成空文件chmod 666 /dev/snd/*/把/dev/snd/下所有文件權(quán)限改為任何人都可以讀寫(xiě)insmod /root/dm9601-2.6/dm9601.ko/加載人工編譯好的USB網(wǎng)卡驅(qū)動(dòng)程序,啟動(dòng)USB網(wǎng)卡/etc/profile文件此文件是Linux系統(tǒng)引導(dǎo)過(guò)程中定

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論