ps(Process status )查看進(jìn)程狀態(tài)的命令,該命令顯示瞬間進(jìn)程的狀態(tài)
簡(jiǎn)單用法,直接adb shell ps命令
localhost:~ name$ adb shell ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 5368 1492 SyS_epoll_ 0000000000 S /init
root 2 0 0 0 kthreadd 0000000000 S kthreadd
root 3 2 0 0 smpboot_th 0000000000 S ksoftirqd/0
root 5 2 0 0 worker_thr 0000000000 S kworker/0:0H
root 7 2 0 0 smpboot_th 0000000000 S migration/0
root 8 2 0 0 rcu_gp_kth 0000000000 S rcu_preempt
root 9 2 0 0 rcu_gp_kth 0000000000 S rcu_bh
root 56 2 0 0 down_timeo 0000000000 D blackbox_main_t
shell 14905 4519 5996 1312 0 7f9b3f4114 R ps
各字段的含義:
USER 進(jìn)程當(dāng)前用戶
PID 進(jìn)程ID
PPID 父進(jìn)程ID
VSIZE 進(jìn)程的虛擬內(nèi)存大小,以KB為單位
RSS 實(shí)際占用的內(nèi)存大小,以KB為單位
WCHAN 進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。
PC Program Counter
NAME 進(jìn)程狀態(tài)及名稱
休眠進(jìn)程:這個(gè)是進(jìn)程的狀態(tài),從上面打印的內(nèi)容中可看出進(jìn)程的狀態(tài)
進(jìn)程狀態(tài)有不同的值:
D - 不可中斷的睡眠態(tài)。
R – 運(yùn)行態(tài)
S – 睡眠態(tài)
T – 被跟蹤或已停止
Z – 僵尸態(tài)
W - 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無效)
X - 死掉的進(jìn)程
< - 高優(yōu)先級(jí)
N - 低優(yōu)先級(jí)
L - 有些頁被鎖進(jìn)內(nèi)存
s - 包含子進(jìn)程
l - 多線程,克隆線程
*+ - 位于后臺(tái)的進(jìn)程組 *
program counter:計(jì)算機(jī)中提供要從[存儲(chǔ)器]中取出的下一個(gè)指令地址的[寄存器]
ps 命令參數(shù):-P -p -t -x -c [pid] [name]
-P 顯示調(diào)度策略,通常是bg或fg,當(dāng)獲取失敗將會(huì)是un和er
-p 顯示進(jìn)程的優(yōu)先級(jí)和nice等級(jí)
-t 顯示進(jìn)程下的線程列表
-x 顯示進(jìn)程耗費(fèi)的用戶時(shí)間和系統(tǒng)時(shí)間,格式:(u:0, s:0),單位:秒(s)
-c 顯示進(jìn)程耗費(fèi)的CPU時(shí)間 (可能不兼容Android 4.0以前的老版本系統(tǒng))
[pid] 過濾指定的進(jìn)程PID
[name] 過濾指定的進(jìn)程N(yùn)AME
ps xxx 顯示過濾指定名稱的進(jìn)程
和Linux的ps不同,Linux的ps命令可以這樣子:ps -aux,Android上ps的參數(shù)并不能一起使用,如ps -txPc.
參考文章
查看進(jìn)程調(diào)度等級(jí)
localhost:~ name$adb shell ps -P
USER PID PPID VSIZE RSS PCY WCHAN PC NAME
root 1 0 5368 1492 fg SyS_epoll_ 0000000000 S /init
root 3056 1 4280 476 tv SyS_epoll_ 0000000000 S /sbin/healthd
u0_a58 5183 3261 1939580 86688 bg SyS_epoll_ 0000000000 S com.huawei.secime
比之前打印的內(nèi)容多出了一列PCY,表示進(jìn)程的調(diào)度等級(jí)
Android進(jìn)程調(diào)度狀態(tài):
1.foreground process
2.visible process
3.Service process
4.background process
5.empty process