在linux系統作為和unix和ubuntu相同的系統,ps指令經常被用到查看程序進程的狀態,但是這個指令具體怎麼用您會嗎?本文就以centos為例,結合項目中伺服器的實際應用,給大家講解下ps指令的用法。
一、參數
a——顯示現行終端機下的所有程序,包括其他用戶的程序。
A——顯示所有程序。
c——列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
e——列出程序時,顯示每個程序所使用的環境變量。
f——用ASCII字符顯示樹狀結構,更為完整的輸出。
H——顯示樹狀結構,表示程序間的相互關係。
l ——較長、較詳細的將該PID 的的信息列出;
j ——工作的格式 (jobs format)
N——顯示所有的程序,除了執行ps指令終端機下的程序之外。
s——採用程序信號的格式顯示程序狀況。
S——列出程序時,包括已中斷的子程序資料。
u——以用戶為主的進程狀態 ;
x——通常與 a 這個參數一起使用,可列出較完整信息。
二、實例
1、ps不加任何參數可以輸出參數,也可以 -ef在結合grep指令,顯示更詳細的結果。
ps -ef |grep mysql
2、使用ps指令,輸出進程的完整信息。
ps -l
F——代表這個程序的旗標 (flag), 4 代表使用者為 superuser。
S——代表這個程序的狀態 (STAT)。
UID——代表執行者身份。
PID——進程的ID號。
PPID——父進程的ID。
C——CPU使用的資源百分比。
PRI——指進程的執行優先權(Priority的簡寫),其值越小越早被執行。
NI——這個進程的nice值,其表示進程可被執行的優先級的修正數值。
ADDR——這個是內核函數。
SZ——使用掉的內存大小。
WCHAN——目前這個程序是否正在運作當中,若為 - 表示正在運作。
TTY——登入者的終端機位置。
TIME——使用掉的 CPU 時間。
CMD——所下達的指令名稱。
3、使用ps指令列出目前所有正在內存當中的程序。
ps aux |more
USER——該進程屬於那個使用者帳號。
—PID——該進程的進程ID號。
%CPU——該進程使用掉的 CPU 資源百分比;
%MEM——該進程所佔用的物理內存百分比;
VSZ——該進程使用掉的虛擬內存量 (Kbytes)
RSS——該進程佔用的固定的內存量 (Kbytes)
TTY——該進程是在那個終端機上面運作。
STAT——該程序目前的狀態,主要的狀態有:
START——該進程被觸發啟動的時間;
TIME——該進程實際使用 CPU 運作的時間。
COMMAND——該程序的實際指令。
4、查看特定用戶進程。
ps -u mysql
5、按照進程名和PID過濾進行過濾。
ps -C musql