ps命令
要對進程進行監測和控制,首先必需要了解當前進程的狀況,也就是須要查看當前進程,而ps命令就是最基本同時也是很是強大的進程查看命令.使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有殭屍、哪些進程佔用了過多的資源等等.總之大部分信息都是能夠經過執行該命令獲得的.
ps命令最經常使用的仍是用於監控後臺進程的工做狀況,由於後臺進程是不和屏幕鍵盤這些標準輸入/輸出設備進行通訊的,因此若是須要檢測其狀況,即可以使用ps命令了.
1)ps a 顯示現行終端機下的全部程序,包括其餘用戶的程序。
2)ps -A 顯示全部程序。
3)ps c 列出程序時,顯示每一個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每一個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關係。
7)ps -H 顯示樹狀結構,表示程序間的相互關係。
8)ps -N 顯示全部的程序,除了執行ps指令終端機下的程序以外。
9)ps s 採用程序信號的格式顯示程序情況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t <終端機編號> 指定終端機編號,並列出屬於該終端機的程序的情況。
12)ps u 以用戶爲主的格式來顯示程序情況。
13)ps x 顯示全部程序,不以終端機來區分。
最經常使用的方法是ps -aux,而後再利用一個管道符號導向到grep去查找特定的進程,而後再對特定的進程進行操做。
linux
linux上進程有5種狀態:工具
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 中止 traced or stopped
Z 僵死 a defunct (」zombie」) processui
注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).code
使用ps格式輸出來查看進程狀態:
ps -eo user,stat..,cmd排序
user 用戶名
uid 用戶號
pid 進程號
ppid 父進程號
size 內存大小, Kbytes字節.
vsize 總虛擬內存大小, bytes字節(包含code+data+stack)
share 總共享頁數
nice 進程優先級(缺省爲0, 最大爲-20)
priority(pri) 內核調度優先級
pmem 進程分享的物理內存數的百分比
trs 程序執行代碼駐留大小
rss 進程使用的總物理內存數, Kbytes字節
time 進程執行起到如今總的CPU暫用時間
stat 進程狀態
cmd(args) 執行命令的簡單格式隊列
例子:
查看當前系統進程的uid,pid,stat,pri, 以uid號排序.
ps -eo pid,stat,pri,uid –sort uid進程
查看當前系統進程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss內存