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的参数,不可以。需要用上图的方式使用。
------------------------------------------------------------------------------------------
文章主要内容参考下边小伙伴的资源,很感谢他们的帮助。
2.ps进程命令
posted on 2020-03-07 18:11 赵师傅历险记plus 阅读(8935) 评论(0) 收藏 举报
浙公网安备 33010602011771号