情况:我有一个保持活动的shell脚本,每当它关闭时都会重新启动应用程序。但是,如果应用程序通过SIGTERM
或SIGINT
(kill
,Ctrl+C
等)关闭,我不希望它执行此操作。但是,我无法设置退出代码,因此在退出关机钩时与保持活动脚本进行通信,因为调用exit
是非法的。Java - 以编程方式设置SIGTERM的退出代码
从JavaDoc以exit
:
如果虚拟机已开始关闭序列之后接着如果关闭挂钩正在运行该方法将无限期地阻止此方法被调用。如果关闭钩子已经运行并且启用了退出结束,那么如果状态为非零,则此方法将使用给定的状态代码暂停虚拟机;否则,它会无限期地阻止。
这可能吗?