第八章 系統(tǒng)管理---任務(wù)管理與進程管理_第1頁
第八章 系統(tǒng)管理---任務(wù)管理與進程管理_第2頁
第八章 系統(tǒng)管理---任務(wù)管理與進程管理_第3頁
第八章 系統(tǒng)管理---任務(wù)管理與進程管理_第4頁
第八章 系統(tǒng)管理---任務(wù)管理與進程管理_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第八章第八章 系統(tǒng)管理系統(tǒng)管理- 任務(wù)管理與進程管理任務(wù)管理與進程管理本章目標(biāo)本章目標(biāo)v 了解任務(wù)管理的作用了解任務(wù)管理的作用v 學(xué)會在學(xué)會在linuxlinux環(huán)境下配置環(huán)境下配置atat服務(wù)與服務(wù)與croncron服務(wù)服務(wù)v 熟練掌握多線程管理的指令操作熟練掌握多線程管理的指令操作susu命令命令 v 有時您可能想作為其他用戶發(fā)出命令。有時您可能想作為其他用戶發(fā)出命令。 v 簡單的方法就是用簡單的方法就是用susu命令。命令。 用用su, su, 您能您能變成變成 root(root(或其他的或其他的用戶用戶) )登錄。登錄。v susu命令后不接任何用戶名時將當(dāng)前用戶名轉(zhuǎn)換為命令后不接

2、任何用戶名時將當(dāng)前用戶名轉(zhuǎn)換為rootroot用戶,需要用戶,需要提供提供rootroot口令??诹睢usu命令命令 v 在下面的例子中在下面的例子中, blarg, blarg用戶決定做一些用戶決定做一些rootroot要做的事:要做的事:blargbigdog blarg$ su blargbigdog blarg$ su Password: Password: rootbigdog blarg# rootbigdog blarg# 可以看到可以看到, , 輸入輸入susu命令后命令后, , 要求輸入口令要求輸入口令 - root- root的口令。正確輸入的口令。正確輸入后后, , 出

3、現(xiàn)了通常的出現(xiàn)了通常的shell shell 提示符。如果仔細(xì)看提示符。如果仔細(xì)看, , 會發(fā)現(xiàn)這個會發(fā)現(xiàn)這個shellshell提提示符有所不同。第一示符有所不同。第一, , 它以它以rootroot開始開始, , 表明當(dāng)前用戶已經(jīng)改變了。表明當(dāng)前用戶已經(jīng)改變了。 其次其次, , 提示符的結(jié)束字符不同提示符的結(jié)束字符不同, , 從美元符號從美元符號($)($)變成了井號變成了井號(#)(#)。 這這是表明是表明shellshell是以是以rootroot運行。運行。 susu命令命令 v 也可以用也可以用susu變成其他用戶。必須作為變成其他用戶。必須作為rootroot運行運行su, su

4、, 給出用戶名。所以給出用戶名。所以, , 從從rootroot變成變成blarg, blarg, 需輸入命令需輸入命令su blargsu blarg。 這時不需要口令這時不需要口令 - - 您已您已經(jīng)是經(jīng)是root, root, 所以口令是多余的。所以口令是多余的。v susu和和su lsu l的區(qū)別的區(qū)別su lsu l命令用于轉(zhuǎn)換當(dāng)前用戶到指定的用戶帳號,并改變相應(yīng)的環(huán)境命令用于轉(zhuǎn)換當(dāng)前用戶到指定的用戶帳號,并改變相應(yīng)的環(huán)境變量為新用戶的值。變量為新用戶的值。v sudosudo通過維護一個特權(quán)到用戶名映射的數(shù)據(jù)庫將特權(quán)分配給不通過維護一個特權(quán)到用戶名映射的數(shù)據(jù)庫將特權(quán)分配給不同的用

5、戶,這些特權(quán)可由數(shù)據(jù)庫中所列的一些不同的命令來識同的用戶,這些特權(quán)可由數(shù)據(jù)庫中所列的一些不同的命令來識別,為獲得某一特權(quán),有資格的用戶只需簡單的輸入別,為獲得某一特權(quán),有資格的用戶只需簡單的輸入sudosudo與命與命令之后就可以按照提示輸入口令令之后就可以按照提示輸入口令( (用戶自己的口令,不是用戶自己的口令,不是rootroot的口令的口令) )。v sudosudo由文件由文件/etc/sudoers/etc/sudoers進行配置,其中包含所有可以訪問進行配置,其中包含所有可以訪問sudosudo的的用戶列表并定義了他們的特權(quán)。如:用戶列表并定義了他們的特權(quán)。如:/etc/sudoe

6、rs/etc/sudoersliminglimingALL=(ALL) ALLALL=(ALL) ALL使用戶使用戶limingliming作為作為rootroot身份訪問所有應(yīng)用程序。身份訪問所有應(yīng)用程序。limingliming用戶要以用戶要以rootroot身份執(zhí)行身份執(zhí)行useradduseradd命令:命令:sudo /usr/sbin/useradd samsudo /usr/sbin/useradd sam命令中要寫絕對路徑。命令中要寫絕對路徑。v 配置文件配置文件/etc/sudoers/etc/sudoers必須使用必須使用visudovisudo來編輯。來編輯。v 需要把需

7、要把linuxlinux中存在的用戶名、主機名和許可的命令列表以標(biāo)準(zhǔn)的格中存在的用戶名、主機名和許可的命令列表以標(biāo)準(zhǔn)的格式加入式加入/etc/sudoers/etc/sudoers并保存就可以生效。并保存就可以生效。v 如:允許用戶如:允許用戶gemgem在主機在主機sunsun上執(zhí)行上執(zhí)行rebootreboot和和shutdownshutdown命令:命令:gem sun=/usr/bin/reboot, /sbin/shutdowngem sun=/usr/bin/reboot, /sbin/shutdown注:命令一定要絕對路徑,避免與其它目錄的同名命令沖突,造成安注:命令一定要絕對路

8、徑,避免與其它目錄的同名命令沖突,造成安全隱患。全隱患。v gemgem用戶想執(zhí)行用戶想執(zhí)行rebootreboot命令時:命令時:$ sudo /usr/bin/reboot$ sudo /usr/bin/rebootv 可以利用別名簡化配置。別名類似組的概念,有用戶別名、主可以利用別名簡化配置。別名類似組的概念,有用戶別名、主機別名和命令別名。多個用戶可以先用一個別名來定義,然后機別名和命令別名。多個用戶可以先用一個別名來定義,然后規(guī)定他們可以執(zhí)行什么命令,規(guī)定時就可以使用別名。規(guī)定他們可以執(zhí)行什么命令,規(guī)定時就可以使用別名。User_AliasUser_Alias、Host_AliasH

9、ost_Alias、Cmnd_AliasCmnd_Alias。Host_Alias SERVER=no1Host_Alias SERVER=no1User_Alias ADMINS=liming,gemUser_Alias ADMINS=liming,gemCmnd_Alias SHUTDOWN=/sbin/halt, /sbin/shutdown, Cmnd_Alias SHUTDOWN=/sbin/halt, /sbin/shutdown, /sbin/reboot/sbin/rebootADMINS SERVER=SHUTDOWNADMINS SERVER=SHUTDOWNv 如果僅要執(zhí)

10、行一次的工作,就使用如果僅要執(zhí)行一次的工作,就使用 at at 這個指令吧!這個指令這個指令吧!這個指令其實就是其實就是 atd atd 這個服務(wù)!所以請記得一定要啟動這個服務(wù)!這個服務(wù)!所以請記得一定要啟動這個服務(wù)!如果是在如果是在 Red Hat Red Hat 系統(tǒng)下,可以使用:系統(tǒng)下,可以使用: ntsysv ntsysv 選擇選擇atd atd 按下按下 OK OK !at at 工具工具用來在特定時間運行工作任務(wù)的。提交的工作緩沖放置于用來在特定時間運行工作任務(wù)的。提交的工作緩沖放置于/var/spool/at/var/spool/at目錄下目錄下, ,等待的守護進程等待的守護進程

11、atat執(zhí)行。工作將在提交執(zhí)行。工作將在提交時的當(dāng)前環(huán)境和目錄下執(zhí)行。任何沒有重定向的輸出和錯誤信時的當(dāng)前環(huán)境和目錄下執(zhí)行。任何沒有重定向的輸出和錯誤信號都將以郵件形式發(fā)給提交此工作的用戶。號都將以郵件形式發(fā)給提交此工作的用戶。 指令的執(zhí)行結(jié)果會以指令的執(zhí)行結(jié)果會以mailmail輸出到用戶的信箱輸出到用戶的信箱atat工具能夠正常運行的前提是守護進程工具能夠正常運行的前提是守護進程atdatd正在運行要想正在運行要想atdatd能夠自動運行能夠自動運行, ,可以用可以用 ntsysv ntsysv 命令將其命令將其 enable.enable.想立即啟動想立即啟動atdatd守護進程,可以運

12、行下面的兩個命令任何一個即可。守護進程,可以運行下面的兩個命令任何一個即可。/etc/rc.d/init.d/atd start /etc/rc.d/init.d/atd start service atd startservice atd start格格 式式說說 明明hh:mmhh:mm例如例如17:3017:30或或17301730hh:mm MM hh:mm MM DD YYYYDD YYYY月月 日日 年年 月要使用英文字符或簡寫,年為月要使用英文字符或簡寫,年為4 4位數(shù),如位數(shù),如 17:30 nov 11 199917:30 nov 11 1999now+now+計時計時從現(xiàn)在

13、開始計時的時間后,如從現(xiàn)在開始計時的時間后,如 now +2 hournow +2 hourmidnightmidnight半夜半夜noonnoon中午中午teatimeteatime午茶時間,下午午茶時間,下午4 4點點v 查看計劃任務(wù)查看計劃任務(wù)atq atq 命令命令, , 最左邊一列是工作序號最左邊一列是工作序號at -l(L)at -l(L)v 刪除計劃任務(wù)刪除計劃任務(wù)atrm atrm 工作序號工作序號at d 5at d 5v 使用使用CronCron工具工具Cron Cron 用于確定周期或日常需要運行的命令用于確定周期或日常需要運行的命令,cron,cron可以靈活處理可以靈

14、活處理命令的自動執(zhí)行命令的自動執(zhí)行, ,任何沒有重定向的輸出和錯誤信號都將一郵任何沒有重定向的輸出和錯誤信號都將一郵件形式發(fā)給提交此工作的用戶。件形式發(fā)給提交此工作的用戶。/etc/cron.allow /etc/cron.allow 和和/etc/cron.deny /etc/cron.deny 文件的作用和文件的作用和at.allow/at.denyat.allow/at.deny類似,如果兩個文件都不存在類似,如果兩個文件都不存在(Redhat(Redhat的缺的缺省狀態(tài)省狀態(tài)),),所有的用戶均可訪問所有的用戶均可訪問croncron守護進程。守護進程。v croncron工具能夠正常

15、運行的前提是守護進程工具能夠正常運行的前提是守護進程crondcrond正在運行要正在運行要想想crondcrond能夠自動運行能夠自動運行, ,可以用可以用 ntsysv ntsysv 命令將其命令將其 enableenable。想。想立即啟動立即啟動crondcrond守護進程,可以運行下面的兩個命令任何一個守護進程,可以運行下面的兩個命令任何一個即可:即可:/etc/rc.d/init.d/crond start /etc/rc.d/init.d/crond start service crond start service crond start 理解理解/etc/crontab/et

16、c/crontab文件文件分鐘分鐘小時小時日期日期月月星期星期發(fā)布工作之用戶發(fā)布工作之用戶執(zhí)行的命令執(zhí)行的命令0101* * * * *rootrootrun-parts /etc/cron.hourlyrun-parts /etc/cron.hourly02024 4* * * *rootrootrun-parts /etc/cron.dailyrun-parts /etc/cron.daily22224 4* * *0 0rootrootrun-parts /etc/cron.weeklyrun-parts /etc/cron.weekly42424 41 1* * *rootrootru

17、n-parts /etc/cron.monthlyrun-parts /etc/cron.monthly0-59/10-59/1* * * * *rootroot/usr/bin/date /dev/tty9/usr/bin/date /dev/tty9v run-partsrun-parts命令命令 是一個以目錄為命令行參數(shù)的是一個以目錄為命令行參數(shù)的shellshell腳本腳本, ,功能功能是執(zhí)行該目錄下的每一個程序。是執(zhí)行該目錄下的每一個程序。v 修改修改/etc/crontab/etc/crontab文件文件, ,就會立即生效。就會立即生效。v 用用crontabcrontab定義自己

18、的計劃任務(wù)定義自己的計劃任務(wù)crontab ecrontab e這個命令會自動用啟動這個命令會自動用啟動vivi編輯器編輯器, ,可以編輯增加或刪除可以編輯增加或刪除crontab crontab 條目條目crontab -l crontab -l 命令命令列出列出/var/spool/cron/username /var/spool/cron/username 文件中的內(nèi)容文件中的內(nèi)容, ,也就是該用戶也就是該用戶的計劃任務(wù)。的計劃任務(wù)。crontab -rcrontab -r清除自定義的任務(wù)清除自定義的任務(wù)超級用戶可以用超級用戶可以用crontab crontab 命令中加命令中加 l -

19、u username l -u username 的選項的選項來訪問其他用戶的個人來訪問其他用戶的個人crontab crontab 文件文件v whowho命令將給出目前在系統(tǒng)中的用戶的信息。命令將給出目前在系統(tǒng)中的用戶的信息。-u-u:只列出當(dāng)前登錄用戶的信息;:只列出當(dāng)前登錄用戶的信息;-T-T:在缺省顯示的基礎(chǔ)上,再顯示終端口:在缺省顯示的基礎(chǔ)上,再顯示終端口statestate信息;信息;-H-H:在正規(guī)輸出的各字段上顯示標(biāo)題;:在正規(guī)輸出的各字段上顯示標(biāo)題;-q-q:只顯示當(dāng)前登錄的用戶名和用戶數(shù);:只顯示當(dāng)前登錄的用戶名和用戶數(shù);-d-d:顯示所有已經(jīng)終止但仍未被:顯示所有已經(jīng)終

20、止但仍未被initinit進程重新創(chuàng)建的進程;進程重新創(chuàng)建的進程;-b-b:指出最近重新引導(dǎo)的時間和日期;:指出最近重新引導(dǎo)的時間和日期;-r-r:initinit進程當(dāng)前的運行級別;進程當(dāng)前的運行級別;-a-a:打開所有的任選項;:打開所有的任選項;-s-s:缺省任選項,顯示:缺省任選項,顯示namename、lineline和和timetime字段;字段;多進程管理多進程管理v 對對LinuxLinux操作系統(tǒng)操作系統(tǒng)( (以及以及UNIXUNIX操作系統(tǒng)操作系統(tǒng)) )來說,每個運行中的程序來說,每個運行中的程序至少由一個進程組成至少由一個進程組成v 從操作系統(tǒng)的立場出發(fā),每個進程與其它進

21、程都是彼此獨立的從操作系統(tǒng)的立場出發(fā),每個進程與其它進程都是彼此獨立的v 一個用戶的應(yīng)用程序不會干擾到其它用戶的程序或者操作系統(tǒng)一個用戶的應(yīng)用程序不會干擾到其它用戶的程序或者操作系統(tǒng)本身本身查看系統(tǒng)進程查看系統(tǒng)進程v 用戶能夠查看系統(tǒng)中的所有進程用戶能夠查看系統(tǒng)中的所有進程v 但是用戶只能結(jié)束自己的進程但是用戶只能結(jié)束自己的進程v 每個進程都有獨特且不重復(fù)的編號,就是進程編號每個進程都有獨特且不重復(fù)的編號,就是進程編號(process ID(process ID,PID)PID),PIDPID就可以代表特定的進程。就可以代表特定的進程。LinuxLinux系統(tǒng)的第一個進程為系統(tǒng)的第一個進程為i

22、nitinit,一開機第一個執(zhí)行的進程,一開機第一個執(zhí)行的進程,PIDPID為為1 1。系統(tǒng)執(zhí)行中的進程系統(tǒng)執(zhí)行中的進程v InteractiveInteractive 由由shellshell開始的進程,也就是用戶所執(zhí)行的進程,可以在前開始的進程,也就是用戶所執(zhí)行的進程,可以在前臺或后臺執(zhí)行。臺或后臺執(zhí)行。v BatchBatch 安排要執(zhí)行的進程。由用戶或系統(tǒng)安排時間,由系統(tǒng)自動安排要執(zhí)行的進程。由用戶或系統(tǒng)安排時間,由系統(tǒng)自動執(zhí)行,通常在后臺執(zhí)行。執(zhí)行,通常在后臺執(zhí)行。v DaemonDaemon 開機的時候自動啟動的進程,通常會一直執(zhí)行,提供操作開機的時候自動啟動的進程,通常會一直執(zhí)行

23、,提供操作系統(tǒng)的一些功能。很多系統(tǒng)的一些功能。很多daemondaemon是常駐的服務(wù)。是常駐的服務(wù)。列出進程清單命令列出進程清單命令pspsv 列出進程清單命令列出進程清單命令pspsqa a 列出帶有控制終端的全部進程,不僅僅是當(dāng)前用戶的進程列出帶有控制終端的全部進程,不僅僅是當(dāng)前用戶的進程qr r 只列出正在運行中的進程只列出正在運行中的進程qx x 列出沒有控制終端的那些進程列出沒有控制終端的那些進程qu u 列出進程的所有者列出進程的所有者qf f 給出進程之間的父給出進程之間的父/ /子關(guān)系子關(guān)系ql l 按長格式顯示清單按長格式顯示清單qw w 顯示進程的命令行參數(shù)顯示進程的命令

24、行參數(shù)qe e 顯示當(dāng)前運行的所有進程的信息顯示當(dāng)前運行的所有進程的信息qd d 顯示除了會話期主導(dǎo)進程之外的所有進程的信息顯示除了會話期主導(dǎo)進程之外的所有進程的信息qj j 在顯示不使用任選項時的顯示內(nèi)容的基礎(chǔ)上,還要顯示會話在顯示不使用任選項時的顯示內(nèi)容的基礎(chǔ)上,還要顯示會話IDID和進程組和進程組ID ID v 最常用的參數(shù)組合是最常用的參數(shù)組合是auxauxv 查詢某個用戶的進程,如查詢用戶查詢某個用戶的進程,如查詢用戶leonleon的進程的進程ps -u leonps -u leon如果進程很多,可以依照特定條件來排序如果進程很多,可以依照特定條件來排序ps -sort cmdps

25、 -sort cmd交互列出進程清單命令交互列出進程清單命令toptopv toptop命令是一個交互式操作的命令是一個交互式操作的psps命令版本命令版本v toptop命令每隔命令每隔2-32-3秒鐘就會刷新進程清單的顯示畫面秒鐘就會刷新進程清單的顯示畫面v toptop命令的嚴(yán)重不足是它會占用命令的嚴(yán)重不足是它會占用CPUCPU。在一個忙碌的系統(tǒng)上,這個程序。在一個忙碌的系統(tǒng)上,這個程序會使系統(tǒng)管理方面的問題復(fù)雜化會使系統(tǒng)管理方面的問題復(fù)雜化v toptop屏幕分成兩個部分,上半部是系統(tǒng)信息區(qū),可以看到系統(tǒng)中所屏幕分成兩個部分,上半部是系統(tǒng)信息區(qū),可以看到系統(tǒng)中所有進程的統(tǒng)計、有進程的統(tǒng)

26、計、CPUCPU使用狀態(tài)、內(nèi)存及使用狀態(tài)、內(nèi)存及swapswap使用狀況。使用狀況。v 下半部顯示正在執(zhí)行的各進程詳細(xì)動態(tài)資料。下半部顯示正在執(zhí)行的各進程詳細(xì)動態(tài)資料。PRIPRI進程執(zhí)行的優(yōu)先權(quán)進程執(zhí)行的優(yōu)先權(quán)NINInicenice數(shù)字,代表進程優(yōu)先權(quán)數(shù)字,代表進程優(yōu)先權(quán)WCHANWCHAN進程的核心功能進程的核心功能(kernel function)(kernel function)SHARESHARE共享的內(nèi)存共享的內(nèi)存toptop不只能顯示,還提供管理的功能不只能顯示,還提供管理的功能v 離開離開toptop執(zhí)行時不能使用執(zhí)行時不能使用shellshell,停止,停止toptop的方

27、式按下的方式按下q q鍵鍵v 說明說明按下按下H H鍵,可以看到幫助功能說明鍵,可以看到幫助功能說明v 殺死進程殺死進程按下按下k k鍵,輸入鍵,輸入PIDPIDv 顯示用戶進程顯示用戶進程只顯示某個用戶的進程,按下只顯示某個用戶的進程,按下u u,然后輸入用戶帳號,然后輸入用戶帳號v 重設(shè)優(yōu)先權(quán)重設(shè)優(yōu)先權(quán)按下按下r r重設(shè)優(yōu)先權(quán),輸入重設(shè)優(yōu)先權(quán),輸入PIDPID,然后輸入優(yōu)先權(quán)數(shù)字,然后輸入優(yōu)先權(quán)數(shù)字toptop選項說明選項說明v -c-c指令名稱的欄位顯示完整指令列指令名稱的欄位顯示完整指令列v -d dealy-d dealy設(shè)置畫面上資料更新的時間設(shè)置畫面上資料更新的時間v -i-i不

28、顯示暫停與尸進程不顯示暫停與尸進程v -q-q隨時更新資料隨時更新資料v -s-s安全模式,關(guān)閉部分安全模式,關(guān)閉部分toptop指令的功能指令的功能v -S-S顯示每一個進程的總顯示每一個進程的總CPUCPU時間時間管理進程管理進程v 普通用戶可以殺死或者停止自己的進程普通用戶可以殺死或者停止自己的進程v rootroot用戶可以停止所有的進程用戶可以停止所有的進程向某個進程發(fā)送消息的命令向某個進程發(fā)送消息的命令killkillv 用法:用法:kill -n PIDkill -n PIDqn n 為消息為消息v 這個程序的名字有一些誤導(dǎo):其實它并不真的這個程序的名字有一些誤導(dǎo):其實它并不真的

29、“殺死殺死”進程。它進程。它的作用是向正在運行的進程發(fā)送消息的作用是向正在運行的進程發(fā)送消息v 其中最常用的消息是:其中最常用的消息是:q1 (HUP)1 (HUP):掛起:掛起q9 (KILL)9 (KILL):強行中斷程序運行:強行中斷程序運行v kill -l kill -l 可以列出所有的信號可以列出所有的信號v 其中其中1515是預(yù)設(shè),是預(yù)設(shè),killkill不指定信號就會送出信號不指定信號就會送出信號1515。退出。退出shellshell系統(tǒng)系統(tǒng)會傳送信號會傳送信號1 1給所有給所有shellshell下啟動的進程。信號下啟動的進程。信號9 9會無條件立刻殺死會無條件立刻殺死進程。進程。v killall killall 進程名進程名停止指定名稱的所有進程停止指定名稱的所有進程v killall -9kil

溫馨提示

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

評論

0/150

提交評論