Scroll to navigation

KILL(1) General Commands Manual KILL(1)

名称

kill - 向一个或多个进程发送一个信号

概述

kill [-q |--queue 值] pid ...

kill -信号 [-q |--queue 值] pid或pgid ...
kill -s 信号 [-q |--queue 值] pid或pgid ...
kill --signal 信号 [-q |--queue 值] pid或pgid ...

kill -l [信号]
kill --list [信号]

kill -L
kill --table

描述

kill 根据 pid(进程标识符)或 pgid(进程组标识符)发送信号给一个或多个进程。signal(7) 解释了各种信号的行为。kill 的默认信号是 TERM。使用 -l-L 选项列出可用的信号。特别有用的信号包括 HUP、INT、KILL、STOP、CONT 和 0。可以使用编号、名称或含有 "SIG" 前缀的名称指定信号;例如,-9-SIGKILL-KILL 等价。负的操作数选择整个进程组;请参阅 ps(1) 命令输出中的 PGID 列。pid -1 是特殊的;它表示除 kill 进程本身和 init(8) 之外的所有进程。

-q 选项使用了另外一种信号发送方法,可以传递一个整数 给接收信号的进程。如果该进程安装了该信号的处理程序,且调用 sigaction(2) 时指定了 SA_SIGINFO 标志,那么它可以通过 siginfo_t 结构的 si_value 字段获取该数据。

选项

-信号
根据名称或编号发送信号,像上面描述的那样。如果 信号 是 0(零),kill 不发送信号,但仍然验证它的操作数;这一行为允许调用者检查指定的 pid 和/或 pgid 是否存在,以及它是否有权限向它们发送信号。
使用 sigqueue(3) 而不是 kill(2) 以向每个 pidpgid 额外发送一个
不带参数时,列出信号名称。带了可选的参数时,kill 视情况将指定的 信号 的名称转换成编号,或将编号转换成名称,并返回转换的结果。
以表格形式列出信号名称。

备注

系统的 shell(命令行解释器)常常有一个内置的 "kill" 命令。您可能需要使用 /bin/kill 来运行此处描述的命令,以覆盖 shell 的内置命令。

如果您想使用负的操作数,请先用名称或编号指定信号,这样 kill 才能将它和进程组区别开来。例如,命令 "kill 123 -9" 有歧义;它的意思可以是向进程 123 发送信号 9,也可以是向进程 123 和进程组 9 发送默认信号。

示例

将挂断信号发送给所有可以发送的进程。
返回和信号编号 11 对应的信号名称。
将默认的信号,SIGTERM,发送给进程 123 和 543。
将信号 SIGTERM 发送给进程组 123。

参见

kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), sigqueue(3), skill(1)

报告错误

请将错误报告发送到 procps@freelists.org

2023-12-27 procps-ng