1. 程式人生 > >ps -aux命令詳解

ps -aux命令詳解

Linux ps aux指令詳解 linux上程序有5種狀態: 1. 執行(正在執行或在執行佇列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號) 3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生) 4. 僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放) 5. 停止(程序收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU訊號後停止執行執行) 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   顯示所有程式,不以終端機來區分。 14)ps -l 較長,較詳細的顯示該PID的資訊 # ps -lA |more F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init 1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:03 migration/0 1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0 1 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/1 1 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1 1 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/2 1 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2 相關資訊的意義: F 程序的標誌(flag),4表示使用者為超級使用者 S 程序的狀態(stat),各STAT的意義見下文 PID 程序的ID C CPU使用資源的百分比 PRI priority(優先順序)的縮寫, NI Nice值, ADDR 核心功能,指出該程序在記憶體的那一部分,如果是執行的程序,一般都是“-” SZ 用掉的記憶體的大小 WCHAN 當前程序是否正在執行,若為“-”表示正在執行 TTY 登陸者的終端位置 TIME 用掉的CPU的時間 CMD 所執行的指令 # ps aux |more USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3] root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0] root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1] root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1] root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2] root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2] root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3] root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3] root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4] 上述各位解釋: USER 程序的屬主; PID 程序的ID; PPID 父程序; %CPU 程序佔用的CPU百分比; %MEM 佔用記憶體的百分比; NI 程序的NICE值,數值大,表示較少佔用CPU時間; VSZ 程序使用的虛擬記憶體量(KB); RSS 該程序佔用的固定記憶體量(KB)(駐留中頁的數量); 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); + 位於後臺的程序組;