ps 命令

当程序运行在系统上时,我们称之为进程(process)。监控进程我们可以使用 ps 命令,它能输出运行在系统上的所有程序的许多信息。

gackle@machine:~$ ps
  PID TTY          TIME CMD
    4 tty1     00:00:00 bash
   17 tty1     00:00:00 ps

默认情况下,ps 命令只会显示运行在当前控制台下的属于当前用户的进程。

由于 ps 命令曾经有两个版本,因此有多个命令行参数集(控制输出什么信息并如何显示),同时也支持三种风格的参数形式(Unix、BSD 以及 GNU 风格),由于实在太多太复杂,所以我们只需要记住我们常用的参数即可。

常用参数列表

结果解析

这里我们用使用 ps -l 以及 ps l 来打印长列表,同时解析表头参数含义:

# Unix 风格
gackle@machine:~$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000     4     3  0  80   0 -  3442 -      tty1     00:00:00 bash
0 R  1000    16     4  0  80   0 -  3759 -      tty1     00:00:00 ps

# BSD 风格
gackle@machine:~$ ps l
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0  1000     4     3  20   0  13772  2088 -      S    tty1       0:00 -bash
0  1000    31     4  20   0  15036  1668 -      R    tty1       0:00 ps l

Last updated