進程管理
Author : Janloong Do_O
ps - 報告當前進程快照
ps x 展示所有進程
進程狀態
狀態 |
意義 |
R |
運行。這意味着,進程正在運行或準備運行。 |
S |
正在睡眠。 進程沒有運行,而是,正在等待一個事件, 比如說,一個按鍵或者網絡數據包。 |
D |
不可中斷睡眠。進程正在等待 I/O,比方說,一個磁盤驅動器的 I/O。 |
T |
已停止. 已經指示進程停止運行。稍後介紹更多。 |
Z |
一個死進程或“殭屍”進程。這是一個已經終止的子進程,但是它的父進程還沒有清空它。 (父進程沒有把子進程從進程表中刪除) |
< |
一個高優先級進程。這可能會授予一個進程更多重要的資源,給它更多的 CPU 時間。 進程的這種屬性叫做 niceness。具有高優先級的進程據說是不好的(less nice), 因爲它佔用了比較多的 CPU 時間,這樣就給其它進程留下很少時間。 |
N |
低優先級進程。 一個低優先級進程(一個“好”進程)只有當其它高優先級進程執行之後,纔會得到處理器時間。 |
BSD 風格的 ps 命令列標題 ps aux
標題 |
意思 |
USER |
用戶 ID. 進程的所有者。 |
%CPU |
以百分比表示的 CPU 使用率 |
%MEM |
以百分比表示的內存使用率 |
VSZ |
虛擬內存大小 |
RSS |
進程佔用的物理內存的大小,以千字節爲單位。 |
START |
進程運行的起始時間。若超過24小時,則用天表示。 |
top - 顯示任務
jobs - 列出活躍任務
bg - 把一個任務放在後臺執行
ctrl z 中止進程
ctrl c 結束進程
fg - 把一個任務放到前臺執行
kill - 給一個進程發送信號
獲取完整的信號列表
kill -l
編號 |
名字 |
含義 |
1 |
HUP |
掛起。這是美好往昔的痕跡,那時候終端機通過電話線和調制解調器連接到 遠端的計算機。這個信號被用來告訴程序,控制的終端機已經“掛起”。 通過關閉一個終端會話,可以說明這個信號的作用。發送這個信號到終端機上的前臺程序,程序會終止。許多守護進程也使用這個信號,來重新初始化。這意味着,當發送這個信號到一個守護進程後, 這個進程會重新啓動,並且重新讀取它的配置文件。Apache 網絡服務器守護進程就是一個例子。 |
2 |
INT |
中斷。實現和 Ctrl-c 一樣的功能,由終端發送。通常,它會終止一個程序。 |
9 |
KILL |
殺死。這個信號很特別。鑑於進程可能會選擇不同的方式,來處理髮送給它的 信號,其中也包含忽略信號,這樣呢,從不發送 Kill 信號到目標進程。而是內核立即終止 這個進程。當一個進程以這種方式終止的時候,它沒有機會去做些“清理”工作,或者是保存勞動成果。 因爲這個原因,把 KILL 信號看作殺手鐗,當其它終止信號失敗後,再使用它。 |
15 |
TERM |
終止。這是 kill 命令發送的默認信號。如果程序仍然“活着”,可以接受信號,那麼 這個信號終止。 |
18 |
CONT |
繼續。在停止一段時間後,進程恢復運行。 |
19 |
STOP |
停止。這個信號導致進程停止運行,而沒有終止。像 KILL 信號,它不被 發送到目標進程,因此它不能被忽略。 |
3 |
QUIT |
退出 |
11 |
SEGV |
段錯誤。如果一個程序非法使用內存,就會發送這個信號。也就是說, 程序試圖寫入內存,而這個內存空間是不允許此程序寫入的。 |
20 |
TSTP |
終端停止。當按下 Ctrl-z 組合鍵後,終端發送這個信號。不像 STOP 信號, TSTP 信號由目標進程接收,且可能被忽略。 |
28 |
WINCH |
改變窗口大小。當改變窗口大小時,系統會發送這個信號。 一些程序,像 top 和 less 程序會響應這個信號,按照新窗口的尺寸,刷新顯示的內容。 |
killall - 殺死指定名的進程
給程序的所有進程發送信號(使用root權限可以結束掉其他用戶的進程)
killall tocmat
shutdown - 關機或重啓系統
其他命令
命令名 |
命令描述 |
pstree |
輸出一個樹型結構的進程列表,這個列表展示了進程間父/子關係。 |
vmstat |
輸出一個系統資源使用快照,包括內存,交換分區和磁盤 I/O。 爲了看到連續的顯示結果,則在命令名後加上延時的時間(以秒爲單位)。例如,“vmstat 5”。 終止輸出,按下 Ctrl-c 組合鍵。 |
xload |
一個圖形界面程序,可以畫出系統負載的圖形。 |
tload |
與 xload 程序相似,但是在終端中畫出圖形。使用 Ctrl-c,來終止輸出。 |