kill使用总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kill使用总结相关的知识,希望对你有一定的参考价值。

以前只知道用kill -9 PID杀掉进程,却从没有好好了解一下kill,今天就好好总结一下。
 
1、命令功能
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。
 
2、命令格式
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
 
实例:列出所有信号名称
#kill -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD
CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS RTMIN RTMIN+1
RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX
 
分别对应号码1-64
 
常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + )
TERM 15 终止
KILL 9 强迫终止
CONT 18 持续(与STOP相反, fg/bg号令)
STOP 19 暂停(同 Ctrl + Z)
 
TERM请求一个进程停止运行,进程在保存进度并释放资源后才会关闭,所以说它不是强制停止,基本很少用到,可以忽略。
 
我们常常用到kill -9 PID,这里的9就是指信号KILL,所以说kill -9 和kill -KILL是一样的,KILL会强制进程立刻停止运行,而未保存的进度将会丢失。
 
kill -u USERNAME
可以杀死所有指定用户的所有进程
 
3、常见用法
通常做法,例如想要杀死tomcat进程
 
查看进程id
ps -ef | grep tomcat
 
然后杀死进程
kill -9 PID
 
改进的做法
kill -9 `ps -ef | grep tomcat | grep -v grep | awk ‘{print $2}‘
注意这里的反引号
 
还需要注意的是init进程是不可以杀死的,从linux系统启动流程就可以看出,它是内核级进程,其他进程都是它的子进程。

以上是关于kill使用总结的主要内容,如果未能解决你的问题,请参考以下文章

nginx总结

linux命令总结kill命令详解

《Linux高性能服务器编程》学习总结——信号

nginx: [alert] kill(1668, 1) failed (3: No such process)的解决办法及nginx服务常用命令总结

Python学习总结 paramiko 项目运维

[Physics Kills Me]cls1277‘s Luogu solution and problems solved