adb中ps命令的詳解


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的參數,不可以。需要用上圖的方式使用。

------------------------------------------------------------------------------------------

文章主要內容參考下邊小伙伴的資源,很感謝他們的幫助。

1.Android ps命令詳解

2.ps進程命令

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM