显示当前进程的状态
adb shell ps
显示结果为
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 29876 1280 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 7 2 0 0 rcu_gp_kth 0000000000 S rcu_preempt
root 8 2 0 0 rcu_gp_kth 0000000000 S rcu_sched
root 9 2 0 0 rcu_gp_kth 0000000000 S rcu_bh
root 10 2 0 0 smpboot_th 0000000000 S migration/0
root 11 2 0 0 smpboot_th 0000000000 S migration/1
root 12 2 0 0 smpboot_th 0000000000 S ksoftirqd/1
root 14 2 0 0 worker_thr 0000000000 S kworker/1:0H
root 15 2 0 0 smpboot_th 0000000000 S migration/2
root 16 2 0 0 smpboot_th 0000000000 S ksoftirqd/2
root 19 2 0 0 smpboot_th 0000000000 S migration/3
root 20 2 0 0 smpboot_th 0000000000 S ksoftirqd/3
root 23 2 0 0 rescuer_th 0000000000 S khelper
root 24 2 0 0 rescuer_th 0000000000 S netns
root 25 2 0 0 rescuer_th 0000000000 S perf
root 26 2 0 0 rescuer_th 0000000000 S smd_channel_clo
root 27 2 0 0 kthread_wo 0000000000 S dsps_smd_trans_
字段含义:
- user 进程当前用户
- pid 进程ID
- ppid 父进程ID
- VSIZE 进程的虚拟内存大小,以KB为单位
- RSS 实际占用的内存大小,以KB为单位
- WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
- 进程名称 名称前有个大写的S(代表进程的状态)
进程的状态:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
W - 进入内存交换(从内核2.6开始无效)
X - 死掉的进程
< - 高优先级
N - 低优先级
L - 有些页被锁进内存
s - 包含子进程
l - 多线程,克隆线程
+ - 位于后台的进程组
pc的含义:
计算机中提供要从[存储器]中取出的下一个指令地址的[寄存器]
ps 命令参数:-P -p -t -x -c [pid] [name]
- -P 显示调度策略,通常是bg或fg,当获取失败将会是un和er
- -p 显示进程的优先级和nice等级
- -t 显示进程下的线程列表
- -x 显示进程耗费的用户时间和系统时间,格式:(u:0, s:0),单位:秒(s)
- -c 显示进程耗费的CPU时间 (可能不兼容Android 4.0以前的老版本系统)
- [pid] 过滤指定的进程PID
- [name] 过滤指定的进程NAME
- ps xxx 显示过滤指定名称的进程
和Linux的ps不同,Linux的ps命令可以这样子:ps -aux,Android上ps的参数并不能一起使用,如ps -txPc.