Linux查看系统进程的命令ps
,常用的有ps -ef
和ps aux
,这两条命令没有太大区别,是Unix系统中的两种风格,System V风格和BSD 风格,ps aux
最初用到Unix Style中,而ps -ef
被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。
ps -ef
是用标准的格式显示进程的
其格式如下
1 | [root@iZm5eae8wzyq0xrh8j2i1eZ ~]# ps -ef |
其中各列的具体含义如下
列名 | 含义 |
---|---|
UID | 该进程的用户 |
PID | 该程序的ID |
PPID | 该程序父级程序的ID |
C | 该进程占用的CPU百分比 |
STIME | 程序的启动时间 |
TTY | 该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程 |
TIME | 该进程实际使用CPU运行的时间 |
CMD | 命令的名称和参数 |
ps aux 是用BSD的格式来显示
其格式如下
1 | [root@iZm5eae8wzyq0xrh8j2i1eZ ~]# ps aux |
其中各列的具体含义如下
列名 | 含义 |
---|---|
USER | 该进程的用户 |
PID | 该程序的ID |
%CPU | 该进程占用的CPU百分比 |
%MEM | 该占用内存的百分比 |
VSZ | 该进程使用的虚拟内存量(KB) |
RSS | 该进程占用的固定内存量(KB)(驻留中页的数量) |
TTY | 该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程 |
STAT | 进程的状态 |
START | 该进程被触发启动时间 |
TIME | 该进程实际使用CPU运行的时间 |
COMMAND | 命令的名称和参数 |
其中STAT状态位常见的状态字符有
状态字符 | 含义 |
---|---|
D |
无法中断的休眠状态(通常 IO 的进程) |
R |
正在运行可中在队列中可过行的 |
S |
处于休眠状态 |
T |
停止或被追踪 |
W |
进入内存交换 (从内核2.6开始无效) |
X |
死掉的进程 (基本很少见) |
Z |
僵尸进程 |
< |
优先级高的进程 |
N |
优先级较低的进程 |
L |
有些页被锁进内存 |
s |
进程的领导者(在它之下有子进程) |
l |
多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads) |
+ |
位于后台的进程组 |