linux如何正常关闭java服务,不用kill -9

linux如何正常关闭java服务,不用kill -9,第1张

正常的java程序,你启动,ctrl+c退出的时候也跟着退出了。

用nohup /run.sh & 这样的需要用kill -9 或者你自己写一个特殊的sh用来专门杀这个进程也可以、

多数人可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过本文打算阐述使用kill -9带来的一些问题,并给出另一种标准的kill方式。

标准中断信号

在Linux信号机制中,存在多种进程中断信号(Linux信号列表 )。其中比较典型的有 SIGNKILL(9) 和 SIGNTERM(15).

SIGNKILL(9) 和 SIGNTERM(15) 的区别在于:

SIGNKILL(9) 的效果是立即杀死进程. 该信号不能被阻塞, 处理和忽略。

SIGNTERM(15) 的效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。

由此可见,SIGNTERM(15) 才是理论上标准的kill进程信号。

SIGNKILL(9) 带来的问题

先看一段程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7370620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存