ps [-选项]

  显示目前有哪些进程在执行

  记得在 Windows 里面,如果有一个程序没有响应,但其他程序和整个主系统没有问题的话,可以用【Ctrl+Alt+Del】键把现在正在执行的程序列出来,然后把那个唤不醒的程序“结束任务”。

  ps 命令最重要的用途就是配合下一个 kill 命令,专门列出现在在执行的“进程”(UNIX 的称呼,跟 Windows的程序定义稍微有一点不一样),准备让 kill 来“杀”的。

  ps 命令所列出的东西涉及比较深入,选项也多,需要较多的技术磨练才能完全了解,但我们初学时也能学会的,最主要的就是看它的进程号码。这个进程号码待会儿就成为 kill 命令杀死的依据。我们只看两个选项:

  l -e 列出所有的进程。

  l -l 以长格式显示更详细的资料。

  图2-30所示为加了选项的ps命令的执行情况。

Linux的多人多工命令_休闲
图2-30 运行ps –le命令的情况

  练习:

  如果您是单人单机系统没有关系,从各个虚拟终端机登录进去,并执行很多个程序,然后用 ps 命令去观察,您就会慢慢体会出来的。

  kill [-选项]

  中断一个处理进程(process)

  在前面 ps 中命令提过,有时一两个或许有漏洞或许遇到存取不当的程序,可能会一直悬在那里不动,或者正好相反,它一直空转,永远无法结束。像DOS 那样的“单工”系统,这样的话就整个系统死机了。而像 Windows, UNIX(含 Linux)都是“多工”的系统,所以可以采行“壮士断腕”,把该程序(UNIX 称做进程,定义稍有不同)强迫中断掉。kill 就是这个工具。

  kill 不能乱来,必须要先用 ps 命令把那一个进程无响应的号码看清楚,再用号码指定的方式,把它中断。

  例如这是我们所看到的进程如图2-31所示。

Linux的多人多工命令_休闲_02
图2-31 用ps –e命令查看进程号码

  这时可以用:

  kill 1652

  kill 1665

  等任何一个列出的号码中断进程。

  如果还不能,就使出杀手锏:

  kill -9 1652

  kill -9 1665

  再不行的话那真的只好整个系统 shutdown 重开了。

  练习:

  利用【Ctrl+Alt+F1】, 【Ctrl+Alt+F2】, …【Ctrl+Alt+F6】的多个虚拟终端机,执行多个进程,用 ps 命令观察并练习用 kill 把它们中断。