kill

概要

主要用途

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

选项

  1. -n sig 信号名称对应的数字。
  2. -L 等价于-l选项。

参数

pid:进程ID

jobspec:作业标识符

返回值

例子

  1. # 以下发送KILL信号的形式等价。当然还有更多的等价形式,在此不一一列举了。
  2. [user2@pc] kill -s SIGKILL PID
  3. [user2@pc] kill -s KILL PID
  4. [user2@pc] kill -n 9 PID
  5. [user2@pc] kill -9 PID
  6. [user2@pc] sleep 90 &
  7. [1] 178420
  8. # 终止作业标识符为1的作业。
  9. [user2@pc] kill -9 %1
  10. [user2@pc] jobs -l
  11. [1]+ 178420 KILLED ssh 192.168.1.4
  12. [user2@pc] sleep 90 &
  13. [1] 181357
  14. # 发送停止信号。
  15. [user2@pc] kill -s STOP 181357
  16. [user2@pc] jobs -l
  17. [1]+ 181537 Stopped (signal) sleep 90
  18. # 发送继续信号。
  19. [user2@pc] kill -s CONT 181357
  20. [user2@pc] jobs -l
  21. [1]+ 181537 Running sleep 90 &

注意

  1. bash的作业控制命令包括bg fg kill wait disown suspend
  2. 该命令是bash内建命令,相关的帮助信息请查看help命令。

概要

主要用途

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

  • 列出信号。

选项

  1. -l, --list [number] 打印信号名称或转换给定数字到信号名称。信号名称可参考文件(/usr/include/linux/signal.h)。
  2. -L, --table '-l'选项类似,但是输出信号名称以及信号对应的数字。
  3. -a, --all 不要限制“命令名到pid”的转换为具有与当前进程相同的UID的进程。
  4. -p, --pid 打印目标进程的PID而不发送信号。
  5. --verbose 打印信号以及接收信号的PID
  6. -q, --queue value 使用sigqueue(3)而不是kill(2)。参数value是信号对应的数字。
  7. 如果接收进程已为此信号安装了处理程序将SA_SIGINFO标记为sigaction(2),则可以获取
  8. 该数据通过siginfo_t结构的si_sigval字段。
  9. --help 显示帮助信息并退出。
  10. --version 显示版本信息并退出。

参数

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

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

例子

返回值

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

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 killinfo coreutils 'kill invocation'
  2. kill命令类似的有xkill,,killall等,用于不同的目的和场景。

参考链接