深入理解Android中查看进程(ps)命令
By Long Luo
注: 这篇文章是2013年发表在个人 CSDN Blog上解析ANDROID ps命令执行后各项参数的含义 ,今天将其移到个人独立博客站上。
如何查看Android进程信息呢?
可以打开adb shell
,然后我们就有2种方法:
1. 直接输入ps命令
输入之后,我们就可以看到如下的信息:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# ps
ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 276 188 c0099f1c 000086e8 S /init
root 2 0 0 0 c004df64 00000000 S kthreadd
root 3 2 0 0 c003fa28 00000000 S ksoftirqd/0
root 4 2 0 0 c004abc0 00000000 S events/0
root 5 2 0 0 c004abc0 00000000 S khelper
root 6 2 0 0 c004abc0 00000000 S suspend
root 7 2 0 0 c004abc0 00000000 S kblockd/0
root 8 2 0 0 c004abc0 00000000 S cqueue
root 9 2 0 0 c01780d0 00000000 S kseriod
root 10 2 0 0 c004abc0 00000000 S kmmcd
root 11 2 0 0 c006efa8 00000000 S pdflush
root 12 2 0 0 c006efa8 00000000 S pdflush
root 13 2 0 0 c0073480 00000000 S kswapd0
root 14 2 0 0 c004abc0 00000000 S aio/0
root 22 2 0 0 c0175900 00000000 S mtdblockdc
那么我们禁不住要问:
USER PID PPID VSIZE RSS WCHAN PC NAME
那么这些项各代表着什么意思呢?
- USER: 进程的当前用户;
- PID : 毫无疑问, process ID的缩写,也就进程号;
- PPID :process parent ID,父进程ID
- VSIZE : virtual size,进程虚拟地址空间大小;
- RSS : 进程正在使用的物理内存的大小;
- WCHAN :进程如果处于休眠状态的话,在内核中的地址;
- PC : program counter,
- NAME: process name,进程的名称
和Linux ps
命令对比:
Android的内核还是Linux的,我们可以和Linux下ps aux命令的各项参数进行对比,可见:1
2
3
4
5
6
7
8
9root@long-desktop:~# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 2804 1684 ? Ss 21:11 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 21:11 0:00 [kthreadd]
root 2286 0.0 0.4 8888 3172 ? Ss 21:52 0:00 sshd: root@pts/0
root 2352 0.0 0.2 4684 2048 pts/0 Ss+ 21:52 0:00 -bash
root 2454 0.4 0.4 8888 3164 ? Rs 22:06 0:00 sshd: root@pts/1
root 2518 0.1 0.2 4684 2004 pts/1 Ss 22:06 0:00 -bash
root 2551 0.0 0.1 2736 1088 pts/1 R+ 22:06 0:00 ps aux