kill与kill -9的区别
kill命令格式:kill -Signal pid
pid
是进程号,可以用 ps
命令查出
signal
是发送给进程的信号
kill
和kill -9
,两个命令在Linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象。
kill(不加 -* 默认kill -15)
命令
系统会发送一个SIGTERM
信号给对应的程序。当程序接收到该signal信号后,将会发生以下事情:
- 程序立刻停止
- 当程序释放相应资源后再停止
- 程序可能仍然继续运行
大部分程序接收到SIGTERM
信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待IO,可能就不会立马做出响应),也就是说,SIGTERM
有可能是会被阻塞的。
kill -9
命令
系统给对应程序发送的信号是SIGKILL
,即exit
。exit
信号不会被系统阻塞,所以kill -9
能顺利杀掉进程。文章来源:https://www.toymoban.com/news/detail-767684.html
总结:文章来源地址https://www.toymoban.com/news/detail-767684.html
- 在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后工作的机会。如果没有,可能会留下一些不完整的文件或状态,从而影响服务的再次启动。
到了这里,关于Linux kill 、kill -15、kill -9 的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!