標籤:style c tar color int a
概述
有時候系統管理員可能只關心現在系統中運行著哪些程式,而不想知道有哪些進程在運行。由於一個應用程式可能需要啟動多個進程。所以在同等情況下,進程的數量要比程式多的多。使用ps可以確定有哪些進程正在運行和啟動並執行狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。
-A 顯示所有進程(等價於-e)(utility)
-a 顯示一個終端的所有進程,除了會話引線
ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
最常用的方法是ps -aux,然後再利用一個管道符號導向到grep去尋找特定的進程,然後再對特定的進程進行操作。
解釋
NI 進程的NICE值,數值大,表示較少佔用CPU時間;
TIME 進程使用的總cpu時間
VSZ 進程所使用的虛存的大小(Virtual Size)
RSS 進程使用的駐留集大小或者是實際記憶體的大小,Kbytes位元組
STAT 進程的狀態:進程狀態使用字元表示的(STAT的狀態代碼)
R 運行 Runnable (on run queue) 正在運行或在運行隊列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到訊號。
I 空閑 Idle
Z 僵死 Zombie(a defunct process) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放。
D 不可中斷 Uninterruptible sleep (ususally IO) 收到訊號不喚醒和不可運行, 進程必須等待直到有中斷髮生。
D 無法中斷的休眠狀態(通常 IO 的進程);
T 終止 Terminate 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU訊號後停止運行運行。
P 等待交換頁
W 無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配。
X 死掉的進程
< 高優先順序進程 高優先序的進程
N 低優先順序進程 低優先序的進程
L 記憶體鎖頁 Lock 有記憶體分頁分配並縮在記憶體內
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位於背景進程組
[[email protected] ~]# ps aux|grep D
TTY 該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
WCHAN 當前進程是否正在進行,若為-表示正在進行;
START 該進程被觸發啟動時間;
TIME 該進程實際使用CPU運行的時間;
COMMAND 命令的名稱和參數;
STAT狀態位常見的狀態字元
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態;
T 停止或被追蹤;
W 進入記憶體交換 (從核心2.6開始無效);
X 死掉的進程 (基本很少見);
Z 殭屍進程;
< 優先順序高的進程
N 優先順序較低的進程
L 有些頁被鎖進記憶體;
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位於背景進程組;
範例:
查看當前系統進程的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