【发布时间】:2020-06-30 16:06:02
【问题描述】:
情况:我有一个保持活动状态的 shell 脚本,它会在应用程序关闭时重新启动它。但是,如果应用程序通过SIGTERM 或SIGINT(kill、Ctrl+C 等)(即关闭挂钩)关闭,我不希望它这样做。但是,当由于调用 exit 是非法的而从关闭挂钩退出时,我无法设置退出代码,因此无法与 keep-alive 脚本通信。
来自 exit 的 Javadocs:
如果在虚拟机开始其关闭序列之后调用此方法,则如果正在运行关闭挂钩,则此方法将无限期阻塞。如果已经运行了关闭挂钩并且已启用退出终止,则此方法会在状态非零时使用给定的状态代码暂停虚拟机;否则,它会无限期地阻塞。
这可能吗?
【问题讨论】: