《Linux 標準學習教程》課件第9講 系統(tǒng)監(jiān)視與進程_第1頁
《Linux 標準學習教程》課件第9講 系統(tǒng)監(jiān)視與進程_第2頁
《Linux 標準學習教程》課件第9講 系統(tǒng)監(jiān)視與進程_第3頁
《Linux 標準學習教程》課件第9講 系統(tǒng)監(jiān)視與進程_第4頁
《Linux 標準學習教程》課件第9講 系統(tǒng)監(jiān)視與進程_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第9講 進程管理與系統(tǒng)監(jiān)控目標 掌握常用的系統(tǒng)監(jiān)視命令掌握Linux的進程與作業(yè)概念 掌握Linux的進程啟動命令 掌握Linux的進程管理命令 掌握Linux的系統(tǒng)日志管理問題 問題引入:用戶正在系統(tǒng)上干什么? 問題引入:系統(tǒng)目前有哪些進程在運行?系統(tǒng)的性能目前如何? 問題引入:有一個程序運行時死了系統(tǒng)里了,該如何結(jié)束它? 查看登錄的用戶查看登錄的用戶 查看用戶的行為 W命令 w命令用于顯示登錄到系統(tǒng)的用戶情況。 w命令的顯示項目按以下順序排列:當前時間,系統(tǒng)啟動到現(xiàn)在的時間,登錄用戶的數(shù)目,系統(tǒng)在最 近1秒、5秒和15秒的平均負載。然后是每個用戶的各項數(shù)據(jù),項目顯示順序如下:登錄帳號、終端

2、名稱、遠 程主機名、登錄時間、空閑時間、JCPU(JCPU時間指的是和該終端連接的所有進程占用的時間 )、PCPU(PCPU時間則是指當前進程所占用的時間 )、當前正在運行進程的命令行。 語法 :w -husfV user -h 不顯示標題。 -u 當列出當前進程和CPU時間時忽略用戶名。這主要是用于執(zhí)行su命令后的情況。 -s 使用短模式。不顯示登錄時間、JCPU和PCPU時間。 -f 切換顯示FROM項,也就是遠程主機名項。默認值是不顯示遠程主機名,當然系統(tǒng)管理員可以對源文件 作一些修改使得顯示該項成為默認值。 -V 顯示版本信息。 user 只顯示指定用戶的相關(guān)情況。 查看登錄的用戶查看

3、登錄的用戶 查看用戶的行為 2.who 命令 who命令顯示目前登入系統(tǒng)的用戶信息。 語法:who -Himqsw-help-versionam i記錄文件 參數(shù): -H或-heading 顯示各欄位的標題信息列。 -i或-u或-idle 顯示閑置時間, -m 此參數(shù)的效果和指定“am i”字符串相同。 -q或count只顯示登入系統(tǒng)的帳號名稱和總?cè)藬?shù)。 -s 此參數(shù)將僅負責解決who指令其他版本的兼容性問題。 -w或-T或-mesg顯示示用戶的信息狀態(tài)欄 -help 在線幫助。 -version 顯示版本信息。 例:要顯示登錄、注銷、系統(tǒng)啟動和系統(tǒng)關(guān)閉的歷史記錄,請輸入: who /var/

4、log/wtmp 查看登錄的用戶查看登錄的用戶 查看用戶的行為 3. Last命令 列出目前與過去登入系統(tǒng)的用戶相關(guān)信息。 語法:last -adRx-f -n 帳號名 稱.終端機編號. -a 把從何處登入系統(tǒng)的主機名稱或IP地址,顯示在最后一行。 -d 將IP地址轉(zhuǎn)換成主機名稱。 -f 指定記錄文件。 -n 或- 設(shè)置列出名單的顯示列數(shù) -R 不顯示登入系統(tǒng)的主機名稱或IP地址。 -x 顯示系統(tǒng)關(guān)機,重新開機,以及執(zhí)行等級的改變等信息。 補充說明:單獨執(zhí)行l(wèi)ast指令,它會讀取位于/var/log目錄下,名稱為wtmp的文件,并把該給文件的內(nèi)容記錄的登入系統(tǒng)的用戶名單全部顯示出來。 查看登錄

5、的用戶系統(tǒng)監(jiān)視 系統(tǒng)監(jiān)控命令top 能顯示實時的進程列表,而且還能實時監(jiān)視系統(tǒng)資源,包括內(nèi)存、交換分區(qū)和CPU的使用率等。# top 系統(tǒng)監(jiān)視使用top命令top命令的顯示 在圖中,第一行表示的項目依次為當前時間、系統(tǒng)啟動時間、當前系統(tǒng)登錄用戶數(shù)目、平均負載。第二行顯示的是所有啟動的進程、目前運行的、掛起 (Sleeping)的和無用(Zombie)的進程。第三行顯示的是目前CPU的使用情況,包括系統(tǒng)占用的比例、用戶使用比例、閑置(Idle)比例。第四行顯示物理內(nèi)存的使用情況,包括總的可以使用的內(nèi)存、已用內(nèi)存、空閑內(nèi)存、緩沖區(qū)占用的內(nèi)存。第五行顯示交換分區(qū)使用情況,包括總的交換分區(qū)、使用的、空

6、閑的和用于高速緩存的大小。第六行顯示的項目最多,下面列出了詳細解釋。系統(tǒng)監(jiān)視系統(tǒng)監(jiān)視 使用top命令 top命令的顯示 PID(Process ID):進程標示號。USER:進程所有者的用戶名。PR:進程的優(yōu)先級別。NI:進程的優(yōu)先級別數(shù)值。VIRT:進程占用的虛擬內(nèi)存值。RES:進程占用的物理內(nèi)存值。SHR:進程使用的共享內(nèi)存值。S:進程的狀態(tài),其中S表示休眠,R表示正在運行,Z表示僵死狀態(tài),N表示該進程優(yōu)先值是負數(shù)。%CPU:該進程占用的CPU使用率。%MEM:該進程占用的物理內(nèi)存和總內(nèi)存的百分比。 TIME:該進程啟動后占用的總的CPU時間。Command:進程啟動的啟動命令名稱。系統(tǒng)監(jiān)

7、視 系統(tǒng)監(jiān)視 使用top命令 top命令的顯示top命令使用過程中,還可以使用一些交互的命令來完成其它參數(shù)的功能。這些命令是通過快捷鍵啟動的。:立刻刷新。P:根據(jù)CPU使用大小進行排序。T:根據(jù)時間、累計時間排序。q:退出top命令。m:切換顯示內(nèi)存信息。t:切換顯示進程和CPU狀態(tài)信息。c:切換顯示命令名稱和完整命令行。M:根據(jù)使用內(nèi)存大小進行排序。W:將當前設(shè)置寫入/.toprc文件中。這是寫top配置文件的推薦方法。系統(tǒng)監(jiān)視進程的概念Linux系統(tǒng)上所有運行的東西都可以稱之為一個進程。每個用戶任務、每個系統(tǒng)管理任務,都可以稱之為進程。進程是一個程序的運行。 進程與程序是有區(qū)別的:程序只是

8、一個靜態(tài)的指令集合,不占系統(tǒng)的運行資源;進程是一個隨時都可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運行資源的程序。一個程序可以啟動多個進程。 Linux操作系統(tǒng)的進程類型:交互進程:由shell啟動的進程,既可以在前臺運行,也可以在后臺運行。 批處理進程:這種進程和終端沒有聯(lián)系,是一個進程序列。守護進程:在后臺持續(xù)運行的進程。進程查看命令 ps :可以確定有哪些進程正在執(zhí)行和執(zhí)行的狀態(tài)進程是否結(jié)束、進程有沒有僵死哪些進程占用了過多的系統(tǒng)資源等ps命令格式:# ps 選項查看系統(tǒng)中的進程 ps進程管理 用ps獲得進程狀態(tài) 1)ps a 顯示現(xiàn)行終端機下的所有程序,包括其他用戶的程序。 2)ps -A 顯示

9、所有程序。 3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務的標示。 4)ps -e 此參數(shù)的效果和指定A參數(shù)相同。 5)ps e 列出程序時,顯示每個程序所使用的環(huán)境變量。 6)ps f 用ASCII字符顯示樹狀結(jié)構(gòu),表達程序間的相互關(guān)系。 7)ps -H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。查看系統(tǒng)中的進程 ps8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。 9)ps s 采用程序信號的格式顯示程序狀況。 10)ps S 列出程序時,包括已中斷的子程序資料。 11)ps -t 指定終端機編號,并列出屬于該終端機的程序的狀況。 12)p

10、s u以用戶為主的格式來顯示程序狀況。 13)ps x顯示所有程序,不以終端機來區(qū)分。 查看系統(tǒng)中的進程 ps操作舉例顯示出當前用戶在shell下所運行的進程 # ps ef |grep lmgrd只查看用戶osmond的進程 # ps -u osmond列出系統(tǒng)中正在運行的所有進程的詳細信息 # ps -aux顯示系統(tǒng)進程樹 # ps -auxf 最常用的方法是ps -aux,然后再利用一個管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。 查看系統(tǒng)中的進程 ps 殺死系統(tǒng)中的進程kill為什么要殺死進程該進程占用了過多的CPU時間該進程鎖住了一個終端,使其他前臺進程無法運

11、行運行時間過長,但沒有預期效果產(chǎn)生了過多到屏幕或磁盤文件的輸出無法正常退出kill命令功能:向指定PID的進程發(fā)送進程信號格式:kill -signal 舉例:殺死PID為1621的進程 $ kill 1621強行殺死PID為1621的進程 $ kill -9 1621 殺死系統(tǒng)中的進程kill 殺死系統(tǒng)中的進程kill常用進程信號:HUP/SIGHUP/1:從終端上發(fā)出的結(jié)束信號,發(fā)送給守護進程可使其重新讀取配置文件INT/SIGINT/2:從鍵盤上發(fā)出的中斷信號(ctrl+c)QUT/SIGQUT/3:從鍵盤上發(fā)出的退出信號(ctrl+)KILL/SIGKILL/9:結(jié)束接受信號的進程(強

12、行殺死進程)TERM/SIGTERM/15:kill命令默認的終止信號STOP/SIGSTOP/19:從鍵盤來執(zhí)行的信號(ctrl+d)向進程發(fā)送進程信號可以使用kill和killall、pkill等命令。舉例:rootlocalhost # ps auxf |grep httpdroot 4939 0.0 0.0 5160 708 pts/3 S+ 13:10 0:00 _ grep httpdroot 4830 0.1 1.3 24232 10272 ? Ss 13:02 0:00 /usr/sbin/httpdapache 4833 0.0 0.6 24364 4932 ? S 13:0

13、2 0:00 _ /usr/sbin/httpdapache 4834 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4835 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4836 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4837 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4838 0.0 0.6 2436

14、4 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4839 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4840 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpd我們查看httpd 服務器的進程;您也可以用pgrep -l httpd 來查看;我們看上面例子中的第二列,就是進程PID的列,其中4830是httpd服務器的父進程,從48334840的進程都是它4830的子進程;如果我們殺掉父進程4830的話,其下的子進程也會跟著死

15、掉;殺死系統(tǒng)中的進程killrootlocalhost # kill 4840 注:殺掉4840這個進程;rootlocalhost # ps -auxf |grep httpd 注:查看一下會有什么結(jié)果?是不是httpd服務器仍在運行?rootlocalhost # kill 4830 注:殺掉httpd的父進程;rootlocalhost # ps -aux |grep httpd 注:查看httpd的其它子進程是否存在,httpd服務器是否仍在運行?對于僵尸進程,可以用kill -9 來強制終止退出;比如一個程序已經(jīng)徹底死掉,如果kill 不加信號強度是沒有辦法退出,最好的辦法就是加信號

16、強度 -9 ,后面要接殺父進程;比如;rootlocalhost # ps aux |grep gaimbeinan 5031 9.0 2.3 104996 17484 ? S 13:23 0:01 gaimroot 5036 0.0 0.0 5160 724 pts/3 S+ 13:24 0:00 grep gaim或rootlocalhost # pgrep -l gaim5031 gaimrootlocalhost # kill -9 5031殺死系統(tǒng)中的進程killkillall命令功能:通過程序的名字,直接殺死所有進程 格式:killall -signal 舉例:殺死進程名為cat的

17、所有進程 $ killall cat強行殺死進程名為named的進程 # killall -9 named使xinetd守護進程重新讀取其配置文件 # killall -1 xinetd killall也和ps或pgrep 結(jié)合使用,比較方便;通過ps或pgrep 來查看哪些程序在運行 殺死系統(tǒng)中的進程killallpkillpkill 和killall 應用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill 來殺掉。應用方法:#pkill 正在運行的程序名舉例:rootlocalhost beinan# pgrep -l gaim2979 gaimrootlocalho

18、st beinan# pkill gaimlinux 踢出登陸用戶 ( pkill) pkill-kill-t用戶tty(用戶tty可以通過w命令查詢,查看當前用戶的,可以直接用命令tty查看)例如:pkill-kill-tpts/1 殺死系統(tǒng)中的進程pkill控制進程的優(yōu)先級 1.執(zhí)行方式影響進程的優(yōu)先級 #tong & #nice tong & #nice -19 tong & 優(yōu)先級的范圍為-20到19,其中-20最高,19最低,默認0,搭配nice后為10控制進程的優(yōu)先級2.修改執(zhí)行中進程的優(yōu)先級 #renice -15PID 當系統(tǒng)中某個進程消耗過多的CPU資源,造成其他進程無法順利

19、執(zhí)行時,可考慮降低其優(yōu)先級,以平衡系統(tǒng)的整體性能. 3.改變某位用戶擁有的進程的優(yōu)先級 #ps u hong #renice -10 u hong控制進程的優(yōu)先級功能:使進程在退出登錄后仍舊繼續(xù)執(zhí)行。 格式:$ nohup 結(jié)果:如果程序program有結(jié)果輸出,輸出結(jié)果將會被保存到當前目錄下的一個文件名為 nohup.out的文件中,如果用戶在當前目錄沒有寫的權(quán)限, 則結(jié)果將會被保存到用戶主目錄下的nohup.out文件中。舉例:# nohup mcal & nohup: appending output to nohup.outnohup命令作業(yè)控制 是指控制當前正在運行的進程的行為,也稱

20、為進程控制。作業(yè)控制是Shell的一個特性,使用戶能在多個獨立進程間進行切換。實施作業(yè)控制的常用命令和快捷鍵cmd &:命令后的&符號表示將該命令放到后臺運行,以免霸占終端:終止一個正在前臺運行的進程(含有正常含義):終止一個正在前臺運行的進程(含有強行含義):掛起一個正在前臺運行的進程jobs:顯示后臺作業(yè)和被掛起的進程bg:在后臺恢復運行一個被掛起的進程fg:在前臺恢復運行一個被掛起的進程進程控制守護進程(Daemon) 是在計算機啟動時就被運行的,并在系統(tǒng)中持續(xù)運行的進程,它等待著隨時為客戶提供自身負責的服務。守護進程的工作就是打開一個端口,并且等待(Listen)進入的連接。 如果客戶

21、提請了一個連接,守護進程就創(chuàng)建(fork)子進程來響應此連接, 而父進程繼續(xù)監(jiān)聽更多的服務請求。正因為如此,每個守護進程都可以處理多個客戶服務請求。查看系統(tǒng)當前運行的守護進程: pstree守護進程的分類系統(tǒng)守護進程:如atd、crond、lpd、syslogd、login等。網(wǎng)絡守護進程:如sshd、httpd、sendmail、xinetd等。守護進程的概念system-config-services “主菜單”“系統(tǒng)設(shè)置”“服務器設(shè)置”“服務”可配置項目臨時運行/停止一個服務使一個服務在系統(tǒng)啟動時運行/停止修改默認系統(tǒng)運行級別使用GUI工具管理守護進程 ntsysv是一個用于管理自動運行

22、的守護進程的文本用戶界面工具 使用TUI工具具管理守護進程 功能:主要用來設(shè)置下次重新啟動計算機以后啟動、停止服務格式# chkconfig -list server-name# chkconfig -add server-name# chkconfig -del server-name# chkconfig -level levels server-name # chkconfig -level levels server-name使用chkconfig工具管理守護進程 說明server-name:是由chkconfig命令管理的服務的名字。-list:顯示由chkconfig管理的所有服務

23、。-level levels:指定某服務要在哪個運行級別中開啟或關(guān)閉,levels的范圍在0-6之間。-add:添加由chkconfig進行管理的指定服務。-del:刪除由chkconfig進行管理的指定服務。on|off:在指定的運行級別,開啟或關(guān)閉服務。不指定運行級別時,默認的運行級別是3、4、5。reset:在指定的運行級別,重置該服務,使其狀態(tài)返回到操作系統(tǒng)啟動時的默認狀態(tài)。使用chkconfig工具管理守護進程 功能啟動或終止守護進程。執(zhí)行后立即生效。格式# service server-name start/stop/restart# service server-name sta

24、tus 說明server-name:對于獨立運行的守護進程就是服務本身;對于由xinetd啟動的進程就是xinetd。start/stop/restart:分別為啟動/終止/重新啟動服務。status:查看守護進程當前的運行狀態(tài)。使用service工具管理守護進程 service 命令使用舉例 終止vsftpd# service vsftpd stop 啟動httpd# service httpd start 重新啟動xinetd# service xinetd restart 查看named的運行狀態(tài)# service named status使用service工具管理守護進程 內(nèi)存查看1.

25、Free free命令用來顯示內(nèi)存的使用情況,使用權(quán)限是所有用戶。 語法格式: free -b|-k|-m -o -s delay -t -V 主要參數(shù): -b -k -m:分別以字節(jié)(KB、MB)為單位顯示內(nèi)存使用情 況。 -s delay:顯示每隔多少秒數(shù)來顯示一次內(nèi)存使用情況。 -t:顯示內(nèi)存總和列。 -o:不顯示緩沖區(qū)調(diào)節(jié)列。內(nèi)存查看2.vmstat vmstat 命令報告關(guān)于內(nèi)核線程、虛擬內(nèi)存、磁盤、陷阱和 CPU 活動的統(tǒng)計信息。由 vmstat 命令生成的報告可以用于平衡系統(tǒng)負載活動。系統(tǒng)范圍內(nèi)的這些統(tǒng)計信息(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。 語法:

26、 vmstat -f -i -s -I -t -v PhysicalVolume . Interval Count 進程管理-f 報告從系統(tǒng)啟動后的派生數(shù)目。 -I 顯示從系統(tǒng)啟動后每個設(shè)備造成的中斷數(shù)目。 -I 用新的輸出欄顯示 I/O 定向視圖。 -s 將總數(shù)結(jié)構(gòu)中的內(nèi)容寫入到標準輸出,該結(jié)構(gòu)包含從系統(tǒng)初始化后調(diào)頁事件的絕對計數(shù)。-s 標志只能與 -v 標志一起使用。 -t 打印 vmstat 的每一輸出行旁邊的時間戳記。時間戳記按照 HH:MM:SS 格式顯示。 -v 將虛擬內(nèi)存管理器維護的不同統(tǒng)計信息寫入標準輸出。-v 標志只能與 -s 標志一起使用。進程管理3.ulimit ulimit 命令設(shè)置或報告用戶進程資源極限,如 /etc/security/limits 文件所定義。 語法: ulimit -H -S -a -c -d -f -m -n -s -t Limi

溫馨提示

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

最新文檔

評論

0/150

提交評論