我在我的一个 java 程序中看到奇怪的行为(文件丢失,文件过时),它必须在关机时保存一些信息(使用 shutdownhooks),然后使用 TERM 信号。
显而易见的解决方法是在修改该信息后立即保存,但出于性能原因,我想避免这种情况。
在我看来,容差值设置得非常短,而 init(我认为这是看门狗进程的名称)实际上在 JVM 可以终止之前杀死了它。我不认为这是我的应用程序的错误,因为我使用了一个测试用例,它至少等待了 20 秒但仍然几乎立即终止。您可以在关闭和注销中看到此行为,也可以在 netbeans 中看到此行为,并且它已打开的选项卡(它不会保存它们,至少在 java 7 上是最近的 7.1)。
这是我无法避免并需要解决的问题吗?