1 linux kill命令
列出所有可用信号:kill -l
常用信号:
HUP 1:重新加载进程。
INT 2:中断(同 Ctrl + C)
QUIT 3:退出(同 Ctrl + )
KILL 9:强制终止
TERM 15 :终止
2 kill关不掉进程
kill 命令实际是向进程发送信号,-9 表示无条件退出,但由进程自行决定是否退出,即 kill -9 终止不了系统进程和守护进程。
2.1 不能kill的原因
(1)进程已经成为僵尸进程(Zombie)
当它的父进程将它回收或将它的父进程kill掉,ps输出看不到。
(2)进程正处在内核状态中
Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,因而kill -9无效。
2.2 解决办法
(1)查看进程: ps aux|grep python3
(我这里主要是运行的python3程序)
(2)cd /proc/46127
cat status
(3)kill -9 父进程号(PPid) 子进程号(Tgid)
如上图,执行:kill -9 46126 46127
即可