kill -9与kill -15的区别(以kill nginx的master进程举例)

- 日理万妓 2023-02-10 05:25 418阅读 0赞

kill -9与kill -15的区别(以kill nginx的master进程举例)

解释

kill -signalNumber pid

nginx -9 一般用来强制关闭进程,直接关闭(极端情况下使用此命令)。
nginx -15 通知进程关闭,会等待进程及其相关的资源释放。

kill nginx master

我们直接上图,看下分别使用kill: -9,-15来关闭nginx的主进程。

kill -9 nignxMaster

屏幕快照 2020052034608

从上图中我们可以看到,直接kill -9掉master进程,nginx的work进程并没有停止,如果这个时候我们启动nginx是会提示Address already in use错误。这个时候需要在此关闭work进程,才可以启动成功。

kill -15 nginxMaster

屏幕快照 2020052034752

从图中看到,我们用kill -15关闭master进程后,work进程也被关闭了。相当于使用了nignx的stop命令。

信号的作用

我来看看各个信号量的解释,就都明白了。

1(Hup): 重启制定的进程。
9(Kill): 无条件杀死进程。
15(Trem): 优雅的终止进程。

大概有64种信号了,我们只给出了常用的几个,其他有兴趣的同学可以看本文参考。了解更多。

总结

安全关闭程序使用kill -15,极端情况下使用kill -9。

参考

https://linuxize.com/post/kill-command-in-linux/

https://www.wangchujiang.com/linux-command/c/kill.html

发表评论

表情:
评论列表 (有 0 条评论,418人围观)

还没有评论,来说两句吧...

相关阅读