kill - 发送信号到进程

发送信号到进程。

目录

内建命令

概要

kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...
kill -l [sigspec]

主要用途

  • 发送信号到作业或进程(可以为多个)。

  • 列出信号。

选项

-s sig    信号名称。
-n sig    信号名称对应的数字。
-l        列出信号名称。如果在该选项后提供了数字那么假设它是信号名称对应的数字。
-L        等价于-l选项。

参数

pid:进程ID

jobspec:作业标识符

返回值

返回状态为成功除非给出了非法选项、执行出现错误。

例子

注意

  1. bash的作业控制命令包括bg fg kill wait disown suspend

  2. 该命令是bash内建命令,相关的帮助信息请查看help命令。

外部命令

概要

主要用途

  • 发送信号到进程(可以为多个)。

  • 列出信号。

选项

参数

接收信号的进程列表可以是PID以及name的混合组成。

PID:每一个PID可以是以下四种情况之一:

状态

说明

n

当n大于0时,PID为n的进程接收信号。

0

当前进程组中的所有进程均接收信号。

-1

PID大于1的所有进程均接收信号。

-n

当n大于1时,进程组n中的所有进程接收信号。当给出了一个参数的形式为“-n”,想要让它表示一个进程组,那么必须首先指定一个信号,或参数前必须有一个“--”选项,否则它将被视为发送的信号。

name:使用此名称调用的所有进程将接收信号。

例子

返回值

  • 0 成功。

  • 1 失败。

  • 64 部分成功(当指定了多个进程时)。

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 killinfo coreutils 'kill invocation'

  2. 启动或关闭内建命令请查看enable命令,关于同名优先级的问题请查看builtin命令的例子部分的相关讨论。

  3. kill命令类似的有xkillpkill,killall等,用于不同的目的和场景。

参考链接

发送信号到进程

Last updated

Was this helpful?