kill 命令

介绍

kill 命令用于删除执行中的程序或任务。

kill 的工作原理是将指定的信息发送至指定程序,预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或任务的编号(PID)可利用 psjobs 命令查看。

语法

kill [options] <pid> [...]

选项

  • -a:当处理当前进程时,不限制命令名和进程号的对应关系。
  • -l [signal]:列出信号名称(若不加 [signal] 选项,则 -l 参数会列出全部的信号名称)。
  • -p:指定 kill 命令只打印相关进程的进程号,而不发送任何信号。
  • -s <signal>:指定要送出的信号(亦可采用 -<signal> 写法)。
  • -u:指定用户。

参数:程序的 PID 或是 PGID,也可以是工作编号。

示例

列出所有可用信号:

$ kill -l

最常用的信号是:

  • 1 (HUP):重新加载进程
  • 9 (KILL):杀死一个进程
  • 15 (TERM):正常停止一个进程

杀死 PID 为 12345 的进程:

$ kill 12345

强制杀死 PID 为 12345 进程:

$ kill -KILL 12345

信号的指定可以使用 -9-SIGKILL-KILL,三种方式是等效的。

杀死指定用户所有进程:

$ kill -9 $(ps -ef | grep guest) # 方法1:过滤出 guest 用户进程
$ kill -u guest                  # 方法2

Leave a Reply