ps[引數]
linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。
要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而ps命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等。
kill 命令用於殺死程序。
1. 執行(正在執行或在執行佇列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)
3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)
4. 僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)
5. 停止(程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行)```
d 不可中斷 uninterruptible sleep (usually io)
r 執行 runnable (on run queue)
s 中斷 sleeping
t 停止 traced or stopped
z 僵死 a defunct (」zombie」) process
a 顯示所有程序
-a 顯示同一終端下的所有程式
-a 顯示所有程序
c 顯示程序的真實名稱
-n 反向選擇
-e 等於「-a」
e 顯示環境變數
f 顯示程式間的關係
-h 顯示樹狀結構
r 顯示當前終端的程序
t 顯示當前終端的所有程式
u 指定使用者的所有程序
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
-c《命令》 列出指定命令的狀況
--lines《行數》 每頁顯示的行數
--width《字元數》 每頁顯示的字元數
--help 顯示幫助資訊
--version 顯示版本顯示
ps -a
ps -u root
ps -ef
ps -ef|grep ssh
$ ps -l
f s uid pid ppid c pri ni addr sz wchan tty time cmd
4 s 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash
4 r 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps
f 代表這個程式的旗標 (flag), 4 代表使用者為 super user
s 代表這個程式的狀態 (stat)
uid 程式被該 uid 所擁有
pid 就是這個程式的 id
ppid 則是其上級父程式的id
c cpu 使用的資源百分比
pri 是 priority (優先執行序) 的縮寫
ni 是 nice 值
addr 是 kernel function,指出該程式在記憶體的那個部分。如果是個 running的程式,一般就是 "-"
sz 使用掉的記憶體大小
wchan 目前這個程式是否正在運作當中,若為 - 表示正在運作
tty 登入者的終端機位置
time 使用掉的 cpu 時間。
cmd 所下達的指令為何
在預設的情況下, ps 僅會列出與目前所在的 bash shell 有關的 pid,所以,當使用ps -l
的時候,只有三個 pid。
常配合grep使用
$ ps aux
user pid %cpu %mem vsz rss tty stat start time command
root 1 0.0 0.0 10368 676 ? ss nov02 0:00 init [3]
root 2 0.0 0.0 0 0 ? s< nov02 0:01 [migration/0]
root 3 0.0 0.0 0 0 ? sn nov02 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:該程式目前的狀態,主要的狀態有
r :該程式目前正在運作,或者是可被運作
s :該程式目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。
t :該程式目前正在偵測或者是停止了
z :該程式應該已經終止,但是其父程式卻無法正常的終止他,造成 zombie (疆屍) 程式的狀態
start:該 process 被觸發啟動的時間
time :該 process 實際使用 cpu 運作的時間
command:該程式的實際指令
ps -axjf
ps aux | grep -e '(cron|syslog)'
ps -aux |more
ps -aux > ps001.txt
ps -o pid,ppid,pgrp,session,tpgid,comm
Linux ps命令檢視程序狀態
ps 命令是最常用的監控程序的命令,通過此命令可以檢視系統中所有執行程序的詳細資訊。ps 命令的基本格式如下 root localhost ps aux 檢視系統中所有的程序,使用 bs 作業系統格式 root localhost ps le 檢視系統中所有的程序,使用 linux 標準命令格式選項...
Linux ps程序狀態碼
d 不可中斷睡眠 通常程序在進行i o r 執行中或者可執行狀態 在執行佇列中 s 可中斷睡眠 等待event,程序idle中 t 程序停止 程序被trace或者程序被訊號停止 x 程序死亡 應該永不可見 z 殭屍程序 結束,但是父程序沒有wait該子程序 對於bsd格式,狀態碼可以附加額外的字元 ...
Linux ps 程序狀態碼
d 不可中斷睡眠 通常程序在進行i o r 執行中或者可執行狀態 在執行佇列中 s 可中斷睡眠 等待event,程序idle中 t 程序停止 程序被trace或者程序被訊號停止 x 程序死亡 應該永不可見 z 殭屍程序 結束,但是父程序沒有wait該子程序 對於bsd格式,狀態碼可以附加額外的字元 ...