ps:process status 進程狀態
語法:
ps aux | grep xxx :查看系統中所有進程
ps -ef | grep xxx :可以查看父子進程之間的關係
選項 | 功能 |
---|---|
-a | 選擇所有進程 |
-u | 顯示所有用戶的所有進程 |
-x | 不僅列出控制終端的進程,也列出所有無控制終端的進程 |
-j | 表示列出與作業控制相關的信息 |
經驗技巧
- 如果想查看進程的CPU佔用率和內存佔用率,可以使用aux
- 如果想查看進程的父進程ID可以使用-ef
示例:
說明:
- ps aux顯示信息說明
- USER:進程是由哪個用戶產生的
- PID:進程的ID號
- %CPU:進程佔用CPU資源的百分比,佔用越高,進程越耗費資源;
- %MEM:進程佔用物理內存的百分比,佔用越高,進程越耗費資源;
- VSZ:進程佔用虛擬內存的大小,單位KB;
- RSS:進程佔用實際物理內存的大小,單位KB;
- TTY:進程是在哪個終端中運行的。其中tty1-tty6是本地的字符界面終端,tty7是圖形終端。pts/0-255代表虛擬終端。
- STAT:進程狀態。常見的狀態有:S-睡眠,s-表示包含子進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止,+表示位於後臺等等
- START:進程的啓動時間
- TIME:進程佔用CPU的運算時間,注意不是系統時間
- COMMAND:啓動進程所用的命令和參數,如果過長會被截斷顯示
示例:
示例:利用ps -axj | more 查看所有用戶的作業。
其中:
- PPID爲1的進程:表示該進程爲孤兒進程,即init進程,守護進程爲孤兒進程
- 凡是TPGID爲-1的都是沒有控制終端的進程,也就是守護進程。守護進程通常採用以d結尾的名字,表示Daemon。
- 在COMMAND一列用[]括起來的名字表示內核線程,這些線程在內核中創建,沒有用戶空間代碼,通常採用以k爲開頭的名字,表示Kernel。
示例:
說明:
- ps -ef顯示信息說明
- UID:用戶ID
- PID:進程ID
- PPID:父進程ID
- C:CPU用於計算執行優先級的因子。數值越大,表明進程是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高
- STIME:進程啓動的時間
- TTY:完整的終端名稱
- TIME:CPU時間
- CMD:啓動進程所用的命令和參數