1. kill 命令本质
kill 不是杀死进程的命令
而是向进程发送一个信号
至于这个信号是什么,是用户指定的。
说明:kill 不一定能杀死一个进程
因为:kill 命令只是“发送”一个信号,因此,只有当信号被程序成功“捕获”,系统才会执行 kill 命令指定的操作;反之,如果信号被“封锁”或者“忽略”,则 kill 命令将会失效。
2. kill 命令原理
kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。
3. kill 命令基本格式
kill [信号] 进程ID(pid)
kill -9 1234 //强制杀死进程id为1234 的进程
不能是:进程名
因为kill 只能识别进程ID,不能识别进程名
4. kill 命令常用信号及其含义
0 EXIT 程序退出时收到该信息。
1 HUP 挂掉电话线或终端连接的挂起信号,
这个信号也会造成某些进程在没有终止的情况下重新初始化。
2 INT 表示结束进程,但并不是强制性的,
常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3 QUIT 退出。
9 KILL 杀死进程,即强制结束进程。
11 SEGV 段错误。
15 TERM 正常结束进程,是 kill 命令的默认信号。
其中,15 正常结束进程是默认信号
5. 标准kill 命令
[root@localhost ~]# ps | grep xxxd
[root@localhost ~]# kill 1234
#杀死PID是1234的进程,默认信号是15,正常停止
#如果默认信号15不能杀死进程,则可以尝试-9信号,强制杀死进程
[root@localhost ~]# kill -9 1234
#强制杀死进程