Linux的kill命令用法
时间: 2024-06-14
概要
kill [-s 信号说明符 | -n 信号编号 | -信号说明符] pid | 任务说明符 ... 或 kill -l [信号说明符]
向一个任务发送一个信号。
选项
-s sig 信号名称。
-n sig 信号名称对应的数字。
-l 列出信号名称。如果在该选项后提供了数字那么假设它是信号名称对应的数字。
-L 等价于-l选项。
参数
- pid: 进程ID
- jobspec: 作业标识符
返回值
返回状态为成功除非给出了非法选项、执行出现错误。
例子
# 列出所有信号名称:
[user2@pc] kill -l
[user2@pc] kill -l 9
KILL
下面是常用的信号。
信号 | 数字 | 说明 |
---|---|---|
HUP | 1 | 终端挂断 |
INT | 2 | 中断,同 Ctrl + C |
QUIT | 3 | 退出,同 Ctrl + \ |
KILL | 9 | 强制终止 |
TERM | 15 | 终止 |
CONT | 18 | 继续(与STOP相反,fg/bg命令) |
STOP | 19 | 暂停,同Ctrl + Z |
Tip
只有第9
种信号SIGKILL
才可以无条件终止进程,其他信号进程都有权利忽略。
# 以下发送KILL信号的形式等价
[user2@pc] kill -s SIGKILL PID
[user2@pc] kill -s KILL PID
[user2@pc] kill -n 9 PID
[user2@pc] kill -9 PID
[user2@pc] sleep 90 &
[1] 178420
# 终止作业标识符为1的作业
[user2@pc] kill -9 %1
[user2@pc] jobs -l
[1]+ 178420 KILLED ssh 192.168.1.4
[user2@pc] sleep 90 &
[1] 181357
# 发送停止信号
[user2@pc] kill -s STOP 181357
[user2@pc] jobs -l
[1]+ 181537 Stopped (signal) sleep 90
# 发送继续信号。
[user2@pc] kill -s CONT 181357
[user2@pc] jobs -l
[1]+ 181537 Running sleep 90 &
注意
bash
的作业控制命令包括bg fg kill wait disown suspend
。- 该命令是
bash
内建命令,相关的帮助信息请查看help
命令。