6.7. 进程列表:ps

命令 ps 生成进程的列表。书写大多数参数时一定不能带减号。请参考 ps --help 可获得简要帮助或者参考主页获得详细帮助。

使用 ps axu 列出所有进程以及用户和命令行信息:

tester@linux:~> ps axu
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0    696   272 ?        S    12:59   0:01 init [5]
root         2  0.0  0.0      0     0 ?        SN   12:59   0:00 [ksoftirqd/0]
root         3  0.0  0.0      0     0 ?        S<   12:59   0:00 [events/0]
[...]
tester    4047  0.0  6.0 158548 31400 ?        Ssl  13:02   0:06 mono-best \
 --debug /usr/lib/beagle/Best.exe --autostarted
tester    4057  0.0  0.7   9036  3684 ?        Sl   13:02   0:00 \
 /opt/gnome/sbin/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oa
tester    4067  0.0  0.1   2204   636 ?        S    13:02   0:00 \
 /opt/gnome/lib/nautilus/mapping-daemon
tester    4072  0.0  1.0  15996  5160 ?        Ss   13:02   0:00 \
 gnome-screensaver
tester    4114  0.0  3.7 130988 19172 ?        SLl  13:06   0:04 sound-juicer
tester    4818  0.0  0.3   4192  1812 pts/0    Ss   15:59   0:00 -bash
tester    4959  0.0  0.1   2324   816 pts/0    R+   16:17   0:00 ps axu
  

要检查有多少个 sshd 进程正在运行,请将选项 -p 与命令 pidof 一起使用,这将列出给定进程的进程 ID。

tester@linux:~> ps -p `pidof sshd`
  PID TTY      STAT   TIME COMMAND
 3524 ?        Ss     0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
 4813 ?        Ss     0:00 sshd: tester [priv]
 4817 ?        R      0:00 sshd: tester@pts/0
  

可以根据需要设置进程列表的格式。选项 -L 返回所有关键字的列表。输入以下命令可以生成所有进程按内存使用量排序的列表:

tester@linux:~> ps ax --format pid,rss,cmd --sort rss
  PID   RSS CMD
    2     0 [ksoftirqd/0]
    3     0 [events/0]
    4     0 [khelper]
    5     0 [kthread]
   11     0 [kblockd/0]
   12     0 [kacpid]
  472     0 [pdflush]
  473     0 [pdflush]
[...]
 4028 17556 nautilus --no-default-window --sm-client-id default2
 4118 17800 ksnapshot
 4114 19172 sound-juicer
 4023 25144 gnome-panel --sm-client-id default1
 4047 31400 mono-best --debug /usr/lib/beagle/Best.exe --autostarted
 3973 31520 mono-beagled --debug /usr/lib/beagle/BeagleDaemon.exe \
  --bg --autostarted