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进程命令

 

posted on 2020-03-07 18:11  赵师傅历险记plus  阅读(8118)  评论(0编辑  收藏  举报

导航