转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52326993 文章出自:薛瑄的博客
你也可以查看我的其他同类文章,也会让你有一定的收货
ps进程命令
和Linux的ps不同,Linux的ps命令可以这样子:ps -aux,Android上ps的参数并不能一起使用,如ps -txPc.
在adb shell终端,输入 ps,可查看手机当前所有的进程状态,其中ps的英文全称是Process Status。
手机当前的进程状态:
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 312 220 c009b74c 0000ca4c S /init
root 2 0 0 0 c004e72c 00000000 S kthreadd
root 3 2 0 0 c003fdc8 00000000 S ksoftirqd/0
root 4 2 0 0 c004b2c4 00000000 S events/0
... ...
root 27 1 740 196 c0158eb0 afd0d8ac S /system/bin/sh
system 28 1 808 204 c01a94a4 afd0db4c S /system/bin/servicemanager
root 29 1 3736 372 ffffffff afd0e1bc S /system/bin/vold
root 30 1 3716 336 ffffffff afd0e1bc S /system/bin/netd
... ...
system 59 33 183396 25580 ffffffff afd0db4c S system_server
app_0 108 33 134184 14876 ffffffff afd0eb08 S com.android.inputmethod.pinyin
radio 112 33 147300 15804 ffffffff afd0eb08 S com.android.phone
app_25 122 33 149408 19932 ffffffff afd0eb08 S com.android.launcher
system 124 33 136708 13172 ffffffff afd0eb08 S com.android.settings
app_0 148 33 148892 18044 ffffffff afd0eb08 S android.process.acore
1. ps命令参数
-t 显示进程里的所有子线程
-c 显示进程耗费的CPU时间
-p 显示进程优先级、nice值、调度策略
-P 显示进程,通常是bg(后台进程)或fg(前台进程)
-x 显示进程耗费的用户时间和系统时间,格式:(u:0, s:0),单位:秒(s)。
上面的参数可根据需要自由组合,比如只需要查看当前进程的线程情况:
查看进程内的所有子进程和子线程: ps -t | grep
;
查看所有普通应用程序,由于目前android是单用户的,所以用户普通进程的user都是以u0开头的,google有意把android发展成支持多用户的,以后应该会有u1, u2_等等的用户名,另外普通app的uid是从10000开始:
ps | grep u0
2. ps结果分析
例如,在我手机输出如下命令:(20671是某个进程pid)
ps -P -p -x -c | grep -E "NAME| 20671 "
//查找进程信息中包含"com.tencen"的进程
ps | grep com.tencen
//可用来查找,字段USER包含u0的进程
ps | grep u0
- grep 查找进程信息中包含指定字符的进程
字段 | 含义 | 值 |
---|---|---|
USER | 进程的当前用户 | system |
PID | 进程ID | 20671 |
PPID | 父进程ID | 497 |
VSIZE | 进程虚拟地址空间大小 | 2085804B |
RSS | 进程正在使用物理内存大小 | 60892B |
CPU | CPU消耗 | 1 |
PRIO | 进程优化级 | 20 |
NICE | Nice值 | 0 |
RTPRI | 实时进程优先级 | 0 |
SCHED | 调度策略 | SCHED_OTHER(默认策略) |
PCY | 进程状态 | bg |
WCHAN | 内核地址 | ffffffff |
PC | 当前程序指针 | b17d3d30 |
- | 休眠状态 | S |
NAME | 进程名 | com.android.settings |
- | 用户态和内核态时间(单位s) | u:130, s:12 |
注: WCHAN值为0代表进程处于运行态;否则代表内核地址(休眠态)。
参考:
ps进程命令
解析ANDROID ps命令执行后各项参数的含义
每天一个linux命令(41):ps命令
微信Android客户端后台保活经验分享
Android的ps命令介绍和技巧
关注我的公众号,轻松了解和学习更多技术