有时您可能希望查看 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 节中介绍。