一、ps命令 Linux中的ps命令是Process Status的縮寫。 ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。 使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是 ...
一、ps命令
Linux中的ps命令是Process Status的縮寫。
ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。
使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。
進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
$ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 24132 5004 ? Ss 10:09 0:07 /sbin/init splash root 2 0.0 0.0 0 0 ? S 10:09 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 10:09 0:00 [ksoftirqd/0]
...
說明:
USER:該 process 屬於那個使用者賬號的
PID :該 process 的號碼
%CPU:該 process 使用掉的 CPU 資源百分比
%MEM:該 process 所占用的物理記憶體百分比
VSZ :該 process 使用掉的虛擬記憶體量 (Kbytes)
RSS :該 process 占用的固定的記憶體量 (Kbytes)
TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程式,若為 pts/0 等等的,則表示為由網路連接進主機的程式。
STAT:該程式目前的狀態,主要的狀態有
D 不可中斷 Uninterruptible sleep (usually IO)
R 正在運行,或在隊列中的進程
S 處於休眠狀態
T 停止或被追蹤
Z 僵屍進程
W 進入記憶體交換(從內核2.6開始無效)
X 死掉的進程
< 高優先順序
N 低優先順序
L 有些頁被鎖進記憶體
s 包含子進程
+ 位於後臺的進程組;
l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
START:該 process 被觸發啟動的時間
TIME :該 process 實際使用 CPU 運作的時間
COMMAND:該程式的實際指令