linux ps命令詳解(unix風格)

linux中ps只顯示進程的靜態快照,及瞬間的進程狀態,它擁有眾多的風格,可分為3組:UNIX風格,BSD風格,GNU風格,本文介紹UNIX風格的ps指令。

參數

ps [-aefFly] [-p pid] [-u userid]

-a 與任何用戶標識和終端相關的進程

-e 所有進程(包括守護進程)

-p pid 與指定PID相關的進程

-u userid 與指定用戶標識userid相關的進程

-ef 顯示所有用戶進程,完整輸出

-a 顯示所有非守護進程

-t 僅顯示所有守護進程

顯示參數

ADDR 進程表中的虛擬地址

C 處理器利用率(廢棄率)

CMD 正被執行的命令的名稱

F 與進程相關的標志

NI nice值,用於設置優先級

PID 進程ID

PPID 父進程的進程ID

PRI 優先級(較大的數字=較低的優先級)

RSS 內存駐留空間大小(內存管理)

S 狀態代碼(D,R,S,T,Z)

STIME 累積系統時間

SZ 物理頁的大小(內存管理)

TIME 累積CPU時間

TTY 控制終端的完整名稱

UID 用戶標識

WCHAN 等待通道

實例

1. 顯示所有當前進程

$ ps -ax     //-a 代表 all,同時加上x參數會顯示沒有控制終端的進程。
$ ps -ax | less  //less便於查看

2. 根據用戶過濾進程

$ ps -u webadmin     //要查看用戶'webadmin'的進程

3. 通過cpu和內存使用來過濾進程

$ $ ps -aux | less
$ ps -aux --sort -pcpu | less    //--sort命令根據CPU使用來升序排序
$ ps -aux --sort -pmem | less    //--sort命令根據內存使用來升序排序
$ ps -aux --sort -pcpu,+pmem | head -n 10       //同時根據CPU和內存排序,並顯示前10個結果

3. 通過進程名和PID過濾

$ ps -C java        //顯示名為java的進程的信息
$ ps -f -C Java     //顯示進程更多的信息

3. 顯示安全信息

$ ps -eo pid,user,args          //參數 -e 顯示所有進程信息,-o 參數控制輸出。Pid,User和Args參數顯示PID,運行應用的用戶和該應用

3. 實時監控進程狀態

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’        //每秒刷新一次當前的進程狀態
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’    //限制前20條

版權聲明:本文為JAVASCHOOL原創文章,未經本站允許不得轉載。