例如,我让我的应用程序在 Linux 终端中运行,然后按键盘上的“CTRL+C”来终止将终止 Java 程序的进程。
有什么方法可以在我的 Java 应用程序中捕获这个“请求”,以便我可以优雅地关闭它并释放所有资源/写入日志。如果它对响应产生影响,我会运行几个不同的线程。
我知道您有一个 addShutDownHook,但正如 Java 文档中所写,它在某些情况下不会被调用,例如 linux 中来自“CTRL+C”的终止信号......还有其他方法吗?
Runtime.getRuntime().addShutdownHook(new Thread()
{
public void run ()
{
// TODO: implement graceful shutdown here.
}
});