kill
命令看这个名字有点自带杀气。没错,它在 Linux 系统中的主要用途就是用来「杀」运行中的程序。但用「杀」程序来介绍它其实也不太完整,更贴切的说法应该是给指定的程序进程发送信号。
kill 命令格式
kill [选项]... [信号] 程序进程...
程序进程可以以空格为分隔符指定多个。这个参数支持 4 种形式:
- 进程名:使用这种格式,命令会发信号给符合命名的进程。
- 数字格式的 PID:一个大于 0 的数字,命令将发信号给指定的 PID 进程。
- -1: 这种情况下, 只要发信号的用户能够控制那些进行, 将发信号给所有从 MAX_INT 到 2 的进程。
- 小于 -1 的数字:把负数值当作信号发送。
kill 命令示例
友情提示,使用 top
或是 ps aux
命令可以查看正在运行的程序以及进程 ID。有了进程 ID 后,就可以使用 kill
命令来终止程序了。比如终止进程 ID 为 3333 的程序:
kill 3333
有时候会碰到一些比较顽固的程序,不会理会上面的终止信号。这时可以尝试使用 -9
信号:
kill -9 3333
一次终止多个进程:
kill 3333 3334 3335
查看所有可用的信号命名:
kill -l
kill 命令选项
目前大多数现代的 shell 程序都会内嵌 kill
命令,这可能会带来一些使用上的区别。可以通过 kill --help
命令来确认具体的可用选项。
缩写 | 说明 |
---|---|
-s |
指定发送的信号。信号名称可以通过 -l 选项查阅。 |
-p |
只打印命名进程的进程 ID。 |
-l |
打印可用的信号名称列表。 |