Linux命令之 kill命令
warning:
这篇文章距离上次修改已过1750天,其中的内容可能已经有所变动。
kill命令是用来向指定的进程(terminate a process)发送一个信号,来控制进程是否终止/暂停/退出。
info:如果想结束指定用户所有进程可以试试
killall命令
命令语法
kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明
kill -l [信号声明]
常用信号 | ||
---|---|---|
HUP | 1 | 终端断线 |
INT | 2 | 中断(同 Ctrl + C) |
QUIT | 3 | 退出(同 Ctrl + \) |
TERM | 15 | 终止 |
KILL | 9 | 强制终止 |
CONT | 18 | 继续(与STOP相反, fg/bg命令) |
STOP | 19 | 暂停(同 Ctrl + Z) |
info:1、kill命令的信号编号可以省略,如果省略的话则默认向进程发送
TERM(15)
终止信号,相当于kill -15 [PID]
命令。注意:普通用户只能使用不带signal参数
的kill命令或最多使用-9
强制终止信号。2、kill只能当前用户说拥有进程发出信号,若没有权限或没有次进程则会报错。
3、可以向多个进程发信号或终止它们。
4、当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示出来。
5、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用KILL(9)
信号,因为进程不能首先捕获它。
6、要撤销所有的后台作业,可以输入kill 0
。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0
来终止所有由当前shell启动的进程,是个有效的方法。
附加参数
参数 | 说明 |
---|---|
-l | 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 |
-s | 指定发送信号 |
常用范例
列出所有信号名称
kill -l

查询指定信号的数值
kill -l kill
kill -l stop

先查找进程PID,然后用kill杀掉
kill 15478

彻底结束进程
kill –9 15576
