9.2. 管理进程

有时您可能希望查看 Linux 上正在运行的进程。要获取这些进程的列表,请输入 ``ps -aux'',它将类似于以下内容

USER       PID %CPU %MEM  SIZE   RSS TTY STAT START   TIME COMMAND
bin         69  0.0  1.0   788   320  ?  S   Nov 30   0:00 /usr/sbin/rpc.portmap
frampton 10273  0.0  2.1  1136   664  p0 S    14:12   0:00 -bash
frampton 10744  0.0  1.1   820   360  p0 R    17:25   0:00 ps -aux
frampton 10745  0.0  0.8   788   264  p0 S    17:25   0:00 more
nobody   10132  0.0  1.8  1016   588  ?  S    13:36   0:00 httpd
nobody   10133  0.0  1.8   988   568  ?  S    13:36   0:00 httpd
nobody   10413  0.0  1.8  1012   580  ?  S    14:56   0:00 httpd
nobody   10416  0.0  1.8  1012   580  ?  S    14:56   0:00 httpd
nobody   10418  0.0  1.8  1012   588  ?  S    14:57   0:00 httpd
nobody   10488  0.0  1.7   976   556  ?  S    15:34   0:00 httpd
nobody   10564  0.0  1.8   988   564  ?  S    16:06   0:00 httpd
nobody   10600  0.0  1.8   988   564  ?  S    16:15   0:00 httpd
nobody   10670  0.0  1.8   988   568  ?  S    16:45   0:00 httpd
nobody   10704  0.0  1.7   976   552  ?  S    17:03   0:00 httpd
root         1  0.0  1.0   776   312  ?  S   Nov 30   1:13 init [3]
root         2  0.0  0.0     0     0  ?  SW  Nov 30   0:00 (kflushd)
root         3  0.0  0.0     0     0  ?  SW  Nov 30   0:00 (kswapd)

该列表显示进程的所有者(对于诸如 Web 服务器之类的特殊服务,为 “nobody”),进程识别号,进程当前使用的 CPU 时间百分比,进程消耗的内存百分比以及其他相关信息,以及任务本身的描述。

要获取有关给定进程的更多信息,请输入 ``pspid''(其中 pid 是进程识别号)。查看上面的示例,ps 10704 将显示

10704  ?  S     0:00 /usr/local/etc/httpd/httpd

这将告诉您,此特定进程是 Web 服务器(Apache Web 服务器在进程列表中多次出现;有关原因的信息,请参见第 7.1 节)。

如果您碰巧注意到某项服务未运行,则可以使用 kill -HUP pid(其中 pid 是进程识别号,如使用 “ps” 生成的进程列表中所示)。例如,如果 Internet 服务(一个名为 inetd 的进程,在我们的示例中为进程 #123)未按预期工作,则 ``kill -HUP 123''(或者更安全的方法是使用 ``killall'' 命令并指定进程名称:``killall -HUP inetd'')应该重新启动该进程。-HUPkill 命令的选项意味着 “挂起 (hang up)”;该进程知道它应该重新加载自身。

如果您无法解决问题,另一种尝试方法是关闭系统并重新启动它(有关详细信息,请参见第 6.7 节)。

有时,您可能会发现有必要暂时挂起一个进程,然后在稍后恢复其执行。例如,您可能正在运行 CPU 密集型作业,并希望刻录基于 IDE 的 CD 可记录光盘。由于基于 IDE 的设备在很大程度上依赖 CPU 来完成输入/输出背后的工作,因此如果您的 CPU 太忙,它们很容易出现缓冲区饥饿,并且最终得到的是无用的光盘而不是正确准备的 CD!以下两个命令将分别挂起进程和恢复进程

kill -STOP 945
kill -CONT 945

Red Hat 提供了一种更好的启动和停止某些进程的方法,这将在下面的第 9.3 节中介绍。