版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/09.進(jìn)程管理及進(jìn)程調(diào)度課程名稱UNIX系統(tǒng)與軟件開(kāi)發(fā)環(huán)境教學(xué)章節(jié)6.1程序和進(jìn)程概念,6.2UNIX/Linux進(jìn)程調(diào)度,6.3進(jìn)程管理與調(diào)度命令教學(xué)目的了解Unix/Linux程序、進(jìn)程的概念和進(jìn)程及狀態(tài)描述,掌握UNIX進(jìn)程調(diào)度機(jī)制和方法教學(xué)重點(diǎn)UNIX進(jìn)程調(diào)度教學(xué)難點(diǎn)UNIX進(jìn)程結(jié)構(gòu)與狀態(tài)、程序的SUID,SGID和sticky屬性及使用知識(shí)點(diǎn)程序和進(jìn)程的概念,Unix/Linux進(jìn)程描述和進(jìn)程狀態(tài),UNIX/Linux進(jìn)程調(diào)度教學(xué)時(shí)間班級(jí)教學(xué)器具課件;多媒體播放系統(tǒng)教學(xué)過(guò)程6。1程序和進(jìn)程的概念操作系統(tǒng)的重要任務(wù)之一是使用戶充分、有效地利用系統(tǒng)資源,也就是在系統(tǒng)資源一定或有限的情況下,要同時(shí)執(zhí)行更多程序,高效率地完成更多的任務(wù)。進(jìn)程、作業(yè)和任務(wù)調(diào)度是操作系統(tǒng)的重要任務(wù)之一。本章的主要內(nèi)容是從系統(tǒng)的外部來(lái)觀察系統(tǒng)中與進(jìn)程(process)和作業(yè)(job)或任務(wù)(task)相關(guān)的行為,并實(shí)施某些控制讓系統(tǒng)工作的更好,或按照用戶的意圖來(lái)完成指定工作。6。1。1程序、進(jìn)程、作業(yè)和任務(wù)程序(program)是一個(gè)存儲(chǔ)在存儲(chǔ)介質(zhì)上的文件.進(jìn)程(proccess)是一個(gè)程序的執(zhí)行過(guò)程。作業(yè)(job)或任務(wù)(task)是用戶需要計(jì)算機(jī)完成某項(xiàng)任務(wù)時(shí)要求計(jì)算機(jī)所做工作的集合,一個(gè)作業(yè)可能需要幾個(gè)程序聯(lián)合完成。作業(yè)和進(jìn)程主要的區(qū)別與關(guān)系如下:作業(yè)是用戶向計(jì)算機(jī)提交的任務(wù)實(shí)體;一個(gè)進(jìn)程是作業(yè)或任務(wù)的某個(gè)執(zhí)行過(guò)程;一個(gè)作業(yè)可由多個(gè)進(jìn)程組成.6。1.2三類進(jìn)程前臺(tái)進(jìn)程:是指用戶直接控制的用于完成某個(gè)任務(wù)的進(jìn)程,因此也叫終端交互式進(jìn)程。它從標(biāo)準(zhǔn)輸入讀數(shù)據(jù),向標(biāo)準(zhǔn)輸出寫數(shù)據(jù),將錯(cuò)誤信息輸出到標(biāo)準(zhǔn)錯(cuò)誤.也可以是用戶直接交互控制的完成某種功能的程序.后臺(tái)進(jìn)程是指在系統(tǒng)后臺(tái)運(yùn)行的、不與用戶交互進(jìn)程。前臺(tái)的進(jìn)程也可放在后臺(tái)運(yùn)行,這時(shí)可能要用到輸入輸出的重定向。守候進(jìn)程也叫服務(wù)器或精靈進(jìn)程,它是后臺(tái)進(jìn)程的一種。批處理進(jìn)程批處理進(jìn)程也叫shell程序,是用戶按照某種意圖將一批作業(yè)和任務(wù)通過(guò)編程的方法提交給系統(tǒng),讓系統(tǒng)在某個(gè)合適的時(shí)間來(lái)調(diào)度和執(zhí)行的進(jìn)程.批處理進(jìn)程是在某個(gè)shell程序的控制下解釋執(zhí)行的。6.1。3Linux操作系統(tǒng)的啟動(dòng)Linux的啟動(dòng)是通過(guò)加電和系統(tǒng)自檢后,將主引導(dǎo)程序MBR裝入內(nèi)存并把控制權(quán)交給它。在MBR的控制下裝入Linux的引導(dǎo)程序LBR并把控制權(quán)交給它。在LBR的控制下系統(tǒng)繼續(xù)引導(dǎo),核心裝入內(nèi)存.系統(tǒng)開(kāi)始進(jìn)一步的初始化過(guò)程:首先初始化系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)(比如構(gòu)造空閑緩沖區(qū)、初始化區(qū)表結(jié)構(gòu)、頁(yè)表項(xiàng)等),然后將根文件系統(tǒng)安裝到根”/”下,并創(chuàng)建系統(tǒng)的0#進(jìn)程、設(shè)置它的運(yùn)行環(huán)境。至此內(nèi)核啟動(dòng)完成.接著繼續(xù)創(chuàng)建1#進(jìn)程,然后由1#進(jìn)程做進(jìn)一步的初始化工作。1#進(jìn)程繼續(xù)初始化過(guò)程,按照/etc/inittab文件的內(nèi)容和規(guī)定啟動(dòng)服務(wù)、管理進(jìn)程,為每個(gè)終端生成一個(gè)子進(jìn)程,等待用戶在終端上注冊(cè),至此啟動(dòng)過(guò)程完畢.6.1。40#進(jìn)程與1#進(jìn)程在UNIX系統(tǒng)中0#進(jìn)程是唯一只在核心態(tài)下執(zhí)行的進(jìn)程。它的功能有三:調(diào)度分配處理機(jī);負(fù)責(zé)進(jìn)程交換;初始化時(shí)創(chuàng)建1#進(jìn)程。在Linux系統(tǒng)中,0#進(jìn)程在創(chuàng)建出1#進(jìn)程后,變成了空閑進(jìn)程(Idler),當(dāng)系統(tǒng)中沒(méi)有其它進(jìn)程就緒時(shí)運(yùn)行。1#(init)進(jìn)程是系統(tǒng)啟動(dòng)時(shí)創(chuàng)建的創(chuàng)建進(jìn)程的進(jìn)程.它的主要作用是根據(jù)/etc/inittab的內(nèi)容創(chuàng)建系統(tǒng)運(yùn)行所需的進(jìn)程。系統(tǒng)初始化完成后,1#進(jìn)程了變成回收進(jìn)程,專門領(lǐng)養(yǎng)沒(méi)有父進(jìn)程的孤兒進(jìn)程或回收狀態(tài)為ZOMBIE的僵尸進(jìn)程。Linux的進(jìn)程樹(shù)(用pstree命令查詢).0#進(jìn)程創(chuàng)建了1#進(jìn)程,它是1#進(jìn)程的父進(jìn)程.1#進(jìn)程在系統(tǒng)啟動(dòng)過(guò)程中創(chuàng)建了系統(tǒng)所需要的其它進(jìn)程。而子進(jìn)程又可創(chuàng)建屬于自己的子進(jìn)程。因此除0#進(jìn)程外,1#進(jìn)程是其它所有進(jìn)程的祖先進(jìn)程。6.1。5進(jìn)程及運(yùn)行模式在UNIX/Linux系統(tǒng)中,進(jìn)程可在用戶態(tài)和核心態(tài)兩種執(zhí)行模式下執(zhí)行。當(dāng)用戶進(jìn)程需要系統(tǒng)核心提供服務(wù)而由用戶態(tài)轉(zhuǎn)向核心態(tài)執(zhí)行時(shí),需要依靠中斷或陷阱機(jī)制來(lái)實(shí)現(xiàn),這時(shí)要切換處理機(jī)(CPU)的工作狀態(tài).兩種狀態(tài)之間的主要區(qū)別是,核心態(tài)下的進(jìn)程具有較高的優(yōu)先級(jí),能夠存取核心和用戶數(shù)據(jù)。而用戶態(tài)下的進(jìn)程能存取它自己的指令與數(shù)據(jù),但不能存取核心指令和數(shù)據(jù)。6。1.6進(jìn)程狀態(tài)及轉(zhuǎn)換在操作系統(tǒng)中,一個(gè)CPU上同時(shí)只能運(yùn)行一個(gè)進(jìn)程,但在多用戶、多任務(wù)環(huán)境下,從宏觀上來(lái)講,同時(shí)運(yùn)行著很多進(jìn)程,因此在這些正在運(yùn)行著的進(jìn)程中,在任一時(shí)刻只能有一個(gè)進(jìn)程占有處理機(jī)而真正運(yùn)行.也就是說(shuō)眾多運(yùn)行著的進(jìn)程中,它們宏觀上是并行的,但微觀上是串行的。因此就存在著有的進(jìn)程在運(yùn)行,有的進(jìn)程在等待問(wèn)題。事實(shí)上進(jìn)程的狀態(tài)遠(yuǎn)不只執(zhí)行和等待兩個(gè),還有用戶態(tài)執(zhí)行、核心態(tài)執(zhí)行、等待、睡眠、就緒等狀態(tài).UNIX系統(tǒng)的進(jìn)程狀態(tài)及轉(zhuǎn)換①進(jìn)程在用戶態(tài)運(yùn)行.②進(jìn)程在系統(tǒng)態(tài)運(yùn)行。③就緒狀態(tài)。④進(jìn)程因等待資源而在內(nèi)存中睡眠。⑤進(jìn)程在外存中睡眠。⑥外存就緒。⑦進(jìn)程從系統(tǒng)態(tài)返回。⑧進(jìn)程剛被創(chuàng)建時(shí)的狀態(tài)。⑨僵尸狀態(tài)。Linux系統(tǒng)的進(jìn)程狀態(tài)及轉(zhuǎn)換①就緒狀態(tài)(執(zhí)行)②淺度睡眠③深度睡眠④停止?fàn)顟B(tài)⑤僵尸狀態(tài)6。2UNIX/Linux進(jìn)程調(diào)度UNIX/Linux系統(tǒng)是分時(shí)系統(tǒng),系統(tǒng)給每個(gè)進(jìn)程分一個(gè)時(shí)間片,每個(gè)進(jìn)程在自己的時(shí)間片內(nèi)執(zhí)行,當(dāng)時(shí)間片結(jié)束時(shí)或從系統(tǒng)服務(wù)中返回時(shí),動(dòng)態(tài)計(jì)算進(jìn)程的“優(yōu)先級(jí)”,若有優(yōu)先級(jí)高于當(dāng)前進(jìn)程的內(nèi)存就緒態(tài)進(jìn)程時(shí),系統(tǒng)設(shè)置調(diào)度標(biāo)識(shí),并在以后某個(gè)時(shí)刻剝奪當(dāng)前進(jìn)程的執(zhí)行權(quán),而讓優(yōu)先級(jí)高的進(jìn)程執(zhí)行。UNIX/Linux的進(jìn)程調(diào)度按時(shí)間片計(jì)算”優(yōu)先級(jí)”,并按“優(yōu)先級(jí)”的高低來(lái)調(diào)度進(jìn)程,使優(yōu)先級(jí)高的進(jìn)程占有處理機(jī)而得到執(zhí)行。這里所說(shuō)的”優(yōu)先級(jí)”不是一個(gè)具體的數(shù)字或變量,而是一個(gè)衡量?jī)?yōu)先程度的指標(biāo)。6。2.1調(diào)度策略與優(yōu)先級(jí)的計(jì)算Linux把所有進(jìn)程分成兩類:實(shí)時(shí)進(jìn)程和普通進(jìn)程。對(duì)普通進(jìn)程采用時(shí)間片輪轉(zhuǎn)法來(lái)調(diào)度進(jìn)程的執(zhí)行,所有就緒進(jìn)程按先后排成隊(duì)列,依次輪轉(zhuǎn),時(shí)間片用完而未完成任務(wù)者排在尾部,如此往復(fù);對(duì)于實(shí)時(shí)進(jìn)程則采用FIFO和時(shí)間片輪轉(zhuǎn)進(jìn)行調(diào)度。最后經(jīng)調(diào)度模塊綜合計(jì)算出各進(jìn)程的優(yōu)先級(jí),優(yōu)先級(jí)最高者獲得執(zhí)行權(quán).NiceLevel優(yōu)先級(jí)在優(yōu)先級(jí)計(jì)算過(guò)程中有一個(gè)基本參數(shù)參與運(yùn)算,這就是傳統(tǒng)UNIX/LinuxNiceLevel優(yōu)先級(jí),按傳統(tǒng)做法,把它記為NICE。系統(tǒng)為每個(gè)進(jìn)程設(shè)置了一個(gè)默認(rèn)的NICE值(0),通過(guò)命令nice用戶或管理員可以調(diào)整進(jìn)程的NICE值,從而達(dá)到調(diào)整優(yōu)先級(jí)的目的。在RedHatLinux9中它的調(diào)整范圍為—20~19,在其它UNIX中,NICE取值范圍可能與此不同。沿用UNIX的傳統(tǒng),NICE的值越大進(jìn)程的優(yōu)先級(jí)越低。NICE值可以被作為nice命令的參數(shù)來(lái)調(diào)試進(jìn)程的優(yōu)先級(jí)。6.2。2信號(hào)與軟中斷Unix/Linux中使用很多信號(hào),用于進(jìn)程通信與控制.進(jìn)程通信時(shí)信號(hào)由主進(jìn)程或系統(tǒng)或硬件等發(fā)送到目的進(jìn)程,當(dāng)目的進(jìn)程收到信號(hào)后要進(jìn)行相應(yīng)的處理。若在目的進(jìn)程在用戶級(jí)執(zhí)行,則收到信號(hào)后立即處理,若在內(nèi)核級(jí)運(yùn)行時(shí),先將信號(hào)記下來(lái),待返回到用戶級(jí)時(shí)再處理。用戶可以向目的進(jìn)程發(fā)送信號(hào),而實(shí)現(xiàn)一定程度的通訊,完成指定的工作或達(dá)到某種指定的目的。用戶可以對(duì)收到的信號(hào)采取系統(tǒng)指定的辦法進(jìn)行處理,也可采取自己的辦法進(jìn)行處理,也可忽略信號(hào)。Linux系統(tǒng)的中斷Linux系統(tǒng)常用的中斷信號(hào)可用命令kill,killall和fuser來(lái)查詢。如表6-1所示。在信號(hào)中,有的是硬件發(fā)出,比如SIGILL、SIGSEGV等,有的是可屏蔽的,比如SIGHUP、SIGQUIT等,而SIGKILL和SIGSTOP等是不可屏蔽。我們通常處理的只是一些軟中斷信號(hào):信號(hào)名稱信號(hào)值默認(rèn)動(dòng)作意義和功能描述SIGHUP1終止運(yùn)行掛機(jī)或斷線信號(hào),可能是終端控制程序死亡SIGINT2終止運(yùn)行收到鍵盤Ctrl+C(有系統(tǒng)為Delete)信號(hào)SIGQUIT3寫出映像收到鍵盤退出信號(hào)(Ctrl+\)SIGTRAP5同上單步執(zhí)行,程序跟蹤SIGABR6同上ABORT信號(hào)SIGKILL9終止運(yùn)行KILL信號(hào),不可屏蔽SIGUSR110同上用戶自定義信號(hào)1SIGUSR212終止運(yùn)行用戶自定義信號(hào)2SIGPIPE13同上斷的管道:有寫者無(wú)讀者SIGALRM14同上定時(shí)器信號(hào)SIGTERM15同上進(jìn)程終止信號(hào)SIGCONT18繼續(xù)執(zhí)行繼續(xù)信號(hào)。暫停者一旦收到此信號(hào),便繼續(xù)運(yùn)行6.3進(jìn)程管理與調(diào)度命令6。3。1可執(zhí)行文件的setuid和setgid屬性在UNIX/Linux系統(tǒng)中,用戶級(jí)別和執(zhí)行權(quán)力是相關(guān)。但是有些工作,比如修改/etc/passwd和/etc/shadow文件等,對(duì)于普通用戶都是必須的,因?yàn)樗薷拿艽a。但是系統(tǒng)中這些文件對(duì)于普通用戶是不允許有寫操作的。于是就出現(xiàn)了普通用戶通過(guò)某種機(jī)制行使超級(jí)用戶權(quán)限的問(wèn)題。1可執(zhí)行文件的setuid和setgid屬性當(dāng)一個(gè)程序具有suid屬性時(shí),它執(zhí)行時(shí)的uid將是該程序所有者的uid—即有效uid,記為euid,而執(zhí)行者的原來(lái)uid叫為真實(shí)uid,記為ruid.當(dāng)一個(gè)程序具有sgid屬性時(shí),它執(zhí)行時(shí)的gid將是該程序的gid—即有效gid,記為egid,而執(zhí)行者的原來(lái)gid叫為真實(shí)gid,記為rgid。suid/sgid屬性只對(duì)二進(jìn)制可執(zhí)行文件有效,對(duì)可執(zhí)行的腳本文件無(wú)效。當(dāng)一個(gè)屬于超級(jí)用戶的可執(zhí)行二進(jìn)制程序具有suid屬性時(shí),則當(dāng)一般用戶執(zhí)行它時(shí),也就相當(dāng)于有了超級(jí)用戶的身份和權(quán)限。同樣當(dāng)一個(gè)屬于超級(jí)用戶所在組的可執(zhí)行二進(jìn)制程序具有sgid屬性時(shí),則當(dāng)一般用戶執(zhí)行它時(shí),也就相當(dāng)于有了該組員的身份和權(quán)限.suid和sgid權(quán)限的存在可能會(huì)給某些程序的執(zhí)行帶來(lái)了方便,因?yàn)闄?quán)限被放大了,但這也是一種危險(xiǎn)。因此設(shè)置這種權(quán)限的可執(zhí)行二進(jìn)制程序不宜太多。常用的設(shè)置suid的程序有:/bin/ping、/usr/bin/passwd、/usr/bin/newgrp、/usr/bin/sudo、/usr/sbin/suexec和/usr/sbin/traceroutesetuid和setgid屬性管理按照文件的屬性,若用八進(jìn)制表示,對(duì)應(yīng)于suid和sgid的權(quán)限則為4000和2000。setuid和setgid屬性設(shè)置1.數(shù)字方法:chmod4755myp1?#為myp1設(shè)置suidchmod2775myp2?#為myp2設(shè)置sgidchmod6777myp3 #為myp3同時(shí)設(shè)置suid和sgid2.字符方式chmodu+smyp1?#為myp1設(shè)置suidchmodg+smyp2 #為myp2設(shè)置sgidchmodug+smyp3?#為myp3同時(shí)設(shè)置suid和sgid修改后權(quán)限分別為:-rwsr-xr-x,—rwxrwsr-x和rwsrwsrwx2。目錄的sticky權(quán)限UNIX/Linux系統(tǒng)允許目錄使用sticky位屬性(粘著位)。當(dāng)一個(gè)目錄設(shè)置了sticky位后,它內(nèi)部的文件只能被文件主、目錄主或超級(jí)用戶刪除、更名或移動(dòng)。設(shè)置sticky位的目錄有/tmp、/usr/tmp和/var/spool/uucppublic等。在傳統(tǒng)的UNIX系統(tǒng)中sticky對(duì)可執(zhí)行文件還具有特殊意義(略).sticky權(quán)限管理:sticky位是對(duì)目錄執(zhí)行權(quán)來(lái)說(shuō)的,它的屬性值為1000。sticky位也可用chmod命令通過(guò)root用戶來(lái)設(shè)置。設(shè)有目錄mydir的權(quán)限為drwxr—xr-x(755),則可通過(guò)以下兩種方法來(lái)設(shè)置它的sticky位:chmod1755mydir?#數(shù)字方式chmod+tmydir #字符方式。設(shè)置后的權(quán)限為drwxr—xr—t或17556.3.2進(jìn)程管理與調(diào)度命令1。查詢進(jìn)程狀態(tài)(ps)功能:查詢進(jìn)程狀態(tài)和信息,給出系統(tǒng)當(dāng)前正在運(yùn)行進(jìn)程信息的快照.用法:ps[options]說(shuō)明:ps支持多種UNIX系統(tǒng)格式的個(gè)性化顯示方式。且參數(shù)較多;可以配合kill命令結(jié)束系統(tǒng)中失控或不必要的進(jìn)程。參數(shù):—A,—e:顯示系統(tǒng)內(nèi)的所有進(jìn)程;-a:顯示所有與終端相關(guān)的進(jìn)程;A:顯示當(dāng)前終端的所有進(jìn)程,也包括其它用戶進(jìn)程;—c:顯示CLS和PRI欄;c:列出進(jìn)程名,但不包含路徑名;-Cpname:顯示進(jìn)程名字為pname的同名進(jìn)程信息;-f:顯示進(jìn)程信息時(shí)顯示帶有路徑的進(jìn)程名和進(jìn)程參數(shù);F:用ASCII字符顯示樹(shù)狀結(jié)構(gòu)的進(jìn)程間關(guān)系;g,—g/—Ggid:顯示與進(jìn)程組相關(guān)的信息,gid可以是組名或組號(hào);H:不顯示標(biāo)題;?-H:顯示樹(shù)狀結(jié)構(gòu)以表示進(jìn)程間的關(guān)系;J,-j:以作業(yè)控制方式顯示進(jìn)程信息;l,-l:以長(zhǎng)格式顯示進(jìn)程信息;L:顯示標(biāo)題欄目信息; p/-ppids:顯示指定進(jìn)程的信息;T,t/—ttty:顯示終端相關(guān)進(jìn)程信息,T只能用于顯示當(dāng)前終端進(jìn)程信息;u,U/—Uuid:顯示與用戶相關(guān)的信息,uid可以是用戶名或用戶號(hào);X:顯示所有進(jìn)程信息,不區(qū)分終端。進(jìn)程的狀態(tài):R:Runable,進(jìn)程在執(zhí)行中;D:Dlaying,非中斷性睡眠,通常是因?yàn)榈却齀/O;S:Sleep,正在睡眠;T:Tracedorstopped,被跟蹤或停止;Z:Zombie,僵尸狀態(tài).進(jìn)程已經(jīng)終止,但父進(jìn)程沒(méi)有對(duì)它的結(jié)束作適當(dāng)處理;W:Wait,無(wú)內(nèi)存頁(yè)面(被換出);N:低優(yōu)先級(jí)進(jìn)程;L:Locked,頁(yè)面被鎖進(jìn)內(nèi)存(用于實(shí)時(shí)控制或用戶控制的I/O);<:高優(yōu)先級(jí)進(jìn)程。示例:ps-ttty1 ? #查詢與終端(tty1)相關(guān)的進(jìn)程信息ps–f–ugjshao #查詢與用戶(gjshao)相關(guān)的信息ps–axj? #查詢整個(gè)系統(tǒng)內(nèi)的進(jìn)程信息情況2.按名稱終止進(jìn)程的執(zhí)行(killall)功能:killall是另一個(gè)用來(lái)終止程序的命令,它不像kill使用進(jìn)程的PID作為操作對(duì)象,而是使用進(jìn)程名。用法: killall-l? killall[—e][-g][-i][-q][—v][—w][—V][—ssignal][——]name…說(shuō)明:killall發(fā)送的信號(hào)可以是信號(hào)的名或值。由于在系統(tǒng)可能有同名進(jìn)程運(yùn)行,因此使用killall終止進(jìn)程時(shí)可能會(huì)有擴(kuò)大化的傾向。參數(shù):name:進(jìn)程名,被終止的對(duì)象;-g:終止指定所屬組內(nèi)的所有進(jìn)程;-i:交互式工作,終止進(jìn)程前需要用戶確認(rèn);-l:列可用信號(hào);-q:安靜模式,當(dāng)不存在指定進(jìn)程時(shí)也不報(bào)錯(cuò);-s:指定信號(hào)(參見(jiàn)-l參數(shù));-v:報(bào)告信號(hào)是否發(fā)送成功;—w:等待所有被殺進(jìn)程結(jié)束。若被殺進(jìn)程忽略發(fā)送信號(hào)或處于僵尸狀態(tài)會(huì)造成killall無(wú)限等待。示例:killall-l? #查詢可用信號(hào)killallman #終止所有名為man的進(jìn)程3。確定使用指定文件或文件系統(tǒng)的進(jìn)程(fuser)功能:確定使用指定文件或文件系統(tǒng)的進(jìn)程用法: fuser–lfuser[—a|-s][—nnamespace][—signal][-kimuv]name...說(shuō)明:在fuser的默認(rèn)輸出中,進(jìn)程號(hào)的后面可以跟有c、e、f、r、m等字符,意義如下:c:當(dāng)前目錄;e:進(jìn)程正在執(zhí)行;f:打開(kāi)文件,默認(rèn)情況下不輸出此標(biāo)志;r:根目錄;m:內(nèi)存映像文件或共享庫(kù)。參數(shù):—k:終止所有使用設(shè)備或文件系統(tǒng)的進(jìn)程;—i:在殺死進(jìn)程前提示確認(rèn),若無(wú)-k則忽略此參數(shù);—l:列所使用的信號(hào)名;?-m:安裝的文件系統(tǒng);-nnamespace:在指定名字空間內(nèi)搜索,名字空間可是文件、UDP和TCP等;—s:安靜模式;—u:顯示用戶信息;-signal:指定信號(hào),而非默認(rèn)的SIGKILL;—4/-6:只搜索IP4/IP6的sockets信息。默認(rèn)搜索兩者示例:1)殺死所有使用某設(shè)備(tty5)的進(jìn)程: fuser–k/dev/tty52)顯示使用本地網(wǎng)絡(luò)端口的進(jìn)程fusertelnet/tcp?#監(jiān)視本地telnet和ftp端口的tcp活動(dòng)情況fuser–u23/tcp21/tcp #監(jiān)視本地telnet和ftp端口的tcp活動(dòng)情況#fuser–ntcp21??#監(jiān)視本地ftp端口的tcp活動(dòng)情況4.讓進(jìn)程抗終止運(yùn)行(nohup)原理:在UNIX/Linux環(huán)境下進(jìn)程可在前臺(tái)運(yùn)行,也可在后臺(tái)運(yùn)行.但不論哪種情況,只要啟動(dòng)進(jìn)程的用戶退出了,他創(chuàng)建的所有進(jìn)程都將終止.這是因?yàn)楫?dāng)用戶退出時(shí),它啟動(dòng)的所有進(jìn)程都將收到HUP信號(hào)。按照系統(tǒng)規(guī)定,收到HUP信號(hào)的進(jìn)程都將被終止.為了保證用戶退出后,它啟動(dòng)的后臺(tái)進(jìn)程仍能繼續(xù)運(yùn)行,就要求進(jìn)程對(duì)信號(hào)HUP具有免疫能力.功能:nohup啟動(dòng)的進(jìn)程對(duì)信號(hào)HUP就具有免疫力用法:nohupcommand[arguments]說(shuō)明:后臺(tái)進(jìn)程是不能和終端交互的,如果被執(zhí)行的命令的輸出沒(méi)有重定向,它將輸出追加到當(dāng)前目錄的nohup.out文件.如果當(dāng)前目錄的nohup.out沒(méi)有寫權(quán)限,輸出將被重定向到$HOME/nohup.out。如果兩者均無(wú)寫權(quán)限,則命令不能執(zhí)行。如果有寫權(quán)限且nohup不存在,則將創(chuàng)建之,在創(chuàng)建時(shí)不對(duì)同組和其它人賦訪問(wèn)權(quán).若文件已經(jīng)存在則不改變?cè)募拇嫒?quán)限。程序的未重定向的標(biāo)準(zhǔn)錯(cuò)誤也將追加到nohup.out文件。nohup不能直接創(chuàng)建后臺(tái)進(jìn)程,創(chuàng)建后臺(tái)進(jìn)程應(yīng)在回車前添加”&"符號(hào).可以通過(guò)返回值來(lái)確定執(zhí)行情況:126-命令不能執(zhí)行;127—命令找不到;其它-所執(zhí)行命令的返回值。5.改變進(jìn)程的優(yōu)先級(jí)(nice)功能:通過(guò)它可以改變進(jìn)程NICE值,從而改變進(jìn)程的優(yōu)先級(jí)。用法:nice[options][cmd[arg…]]參數(shù):-n<NICE〉:例如:-n5,NICE=5,-n-5,NICE=-5-<NICE>:例如:—5,NICE=5,--5,NICE=-5——adjustment=<NICE> :例如:—-adjustment=5,NICE=5說(shuō)明:對(duì)于哪些不急迫的任務(wù),可以通過(guò)調(diào)高它的NICE值,來(lái)降低它的優(yōu)先級(jí),以保證緊急任務(wù)的執(zhí)行。當(dāng)不帶參數(shù)或變量運(yùn)行nice時(shí),將顯示默認(rèn)的NICE,如果用nice對(duì)某個(gè)進(jìn)程進(jìn)行操作,而沒(méi)有指定NICE,則將NICE設(shè)置為10,從而降低了優(yōu)先級(jí)。如果要設(shè)置負(fù)的NICE,而提高進(jìn)程的優(yōu)先級(jí),則要求用戶必須
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省導(dǎo)游資格考試(導(dǎo)游基礎(chǔ)知識(shí))模擬試卷2(題后含答案及解析)
- 醫(yī)保年度考核個(gè)人工作總結(jié)(7篇)
- 單位防疫不力檢討書(7篇)
- 《煤氣的甲烷化》課件
- 條口穴在臟腑調(diào)理中的應(yīng)用-洞察分析
- 輿情傳播中的群體極化現(xiàn)象-洞察分析
- 虛擬化資源管理技術(shù)-洞察分析
- 污水處理自清潔技術(shù)進(jìn)展-洞察分析
- 新材料技術(shù)推廣策略研究-洞察分析
- 園林工程信息化管理-洞察分析
- 醫(yī)學(xué)裝備部利用PDCA循環(huán)降低醫(yī)用輸液泵故障發(fā)生率品管圈QCC成果匯報(bào)
- 湖南省祁陽(yáng)市2022-2023學(xué)年九年級(jí)上學(xué)期期末歷史試題(含答案)
- 一年級(jí)第一學(xué)期口算題(20以內(nèi)口算天天練-15份各100題精確排版)
- 蘇教版小學(xué)六年級(jí)信息技術(shù)全冊(cè)教案
- 《鄉(xiāng)土中國(guó)》第12-14章
- 軌道交通先張法預(yù)應(yīng)力U型梁預(yù)制施工工法
- 人教版英語(yǔ)四年級(jí)上冊(cè)《Unit-3-My-friends》單元教學(xué)課件
- 工程變更矩陣圖
- 農(nóng)村土地買賣合同協(xié)議書范本
- GB/T 42828.2-2023鹽堿地改良通用技術(shù)第2部分:稻田池塘漁農(nóng)改良
- 急性腎衰竭診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
評(píng)論
0/150
提交評(píng)論