ps (process status):這個命令在adb 中是查看android系統的進程狀態命令。
1.簡單用法,在Windows命令行,輸入adb shell ps

(1)各個字段名稱及含義
| USER | 進程當前所屬的用戶 | |
| PID | 進程ID | |
| PPID | 父進程ID | |
| VSIZE | 進程的虛擬內存大小,以KB為單位 | |
| RSS | 進程實際占用的內存大小,以KB為單位 | |
| WCHAN | 進程正在睡眠的內核函數名稱; | 該函數名稱是從/root、system.map文件中讀取的,0代表進程處於運行態;否則代表內核地址(休眠態) |
| PC | 計算機中提供要從“存儲器”中取出的下一個指令地址的寄存器 | |
| NAME | 進程狀態(注:狀態說明見下)和名稱 | 如上圖中,NAME下的S代表進程狀態。 |
(2)NAME中進程狀態的不同值如下:
| D | 不可中斷的睡眠態 |
| R | 運行態 |
| S | 睡眠態 |
| T | 被跟蹤或已停止 |
| Z | 僵屍態 |
| W | 進入內存交換(從內核2.6開始無效) |
| X | 死掉的進程 |
| < | 高優先級 |
| N | 低優先級 |
| L | 有些頁被鎖進內存 |
| s | 包含子進程 |
| l | 多線程,克隆線程 |
| + | 位於后台的進程組 |
2.ps命令參數
ps -P -p -t -x -c [pid] [name]
| -P | 顯示調度策略,通常是bg或fg,當獲取失敗將會是un和er |
| -p | 顯示進程的優先級和nice等級 |
| -t | 顯示進程下的線程列表 |
| -x | 顯示進程耗費的用戶時間和系統時間,格式(u:0, s:0),單位為:秒 |
| -c | 顯示進程耗費的CPU時間(低於4.0版本可能不兼容) |
| [pid] | 過濾指定的進程PID |
| [name] | 過濾指定的進程NAME |
(1)adb shell ps -P,圖中圈出的是多出的PCY列,表示進程的調度等級。

備注:進程調度狀態有
| foreground process | 前台 |
| background process | 后台 |
| visible process | 可視化進程 |
| Services process | 服務進程 |
| empty process | 空進程 |
(2)adb shell ps -p

| PRIO | 進程優先級 |
| NICE | Nice值 |
| RTPRI | 實時進程優先級 |
| SCHED | 調度策略 |
(3)adb shell ps -t 結果中的行數比 adb shell ps 命令多,列數一樣
(4)adb shell ps -x 顯示耗用的用戶及系統時間

(5)adb shell ps -c 顯示耗用的CPU時間,多了一個CPU列

(6)多個參數使用 adb shell ps -c -x 1 (注:1代表PID)

備注:雖然,android的內核是Linux,和Linux的ps不同,Linux的ps 命令中參數可以這樣-aux,但是adb 中 ps的參數,不可以。需要用上圖的方式使用。
------------------------------------------------------------------------------------------
文章主要內容參考下邊小伙伴的資源,很感謝他們的幫助。
2.ps進程命令
