我们希望在JVM被手动终止时退出之前执行一些java代码或shell代码。我们的应用程序没有在容器中运行。我们需要使用Java代码本身或一些命令行工具自动监控它。 最佳答案 您可以使用Runtime.getRuntime().addShutdownHook()添加关闭Hook.一旦JVM的进程终止,这样的关闭Hook由JVM运行。但是,请注意,情况并非总是如此。JVM可能会在有机会触发其关闭Hook之前被杀死。这在javadoc中提到:Inrarecircumstancesthevirtualmachinemayabort,that
我有一些调用deleteOnExit()的临时文件。我还有一个runnable,我使用addShutdownHook()注册它,以便在调用System.exit时运行。是否可以保证在我的关闭Hook运行时临时文件仍然可用? 最佳答案 当我们查看底层实现时,两者都在处理Shutdown-Hook。当我们处理addShutdownHook(ApplicationShutdownHooks)时,我们的代码中有如下一段代码。Runtime.getRuntime().addShutdownHook(newThread(){publicvoid
我需要执行一个方法,(一个创建文件的方法),当我退出我的程序时,我该怎么做? 最佳答案 添加关机钩子(Hook)。看这个javadoc.例子:publicstaticvoidmain(String[]args){Runtime.getRuntime().addShutdownHook(newThread(newRunnable(){publicvoidrun(){System.out.println("Inshutdownhook");}},"Shutdown-thread"));} 关
Java中有没有办法处理收到的SIGTERM? 最佳答案 是的,您可以使用Runtime.addShutdownHook()注册关闭Hook. 关于java-如何处理SIGTERM,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2975248/
Java中有没有办法处理收到的SIGTERM? 最佳答案 是的,您可以使用Runtime.addShutdownHook()注册关闭Hook. 关于java-如何处理SIGTERM,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2975248/
我何时需要调用此方法Runtime.getRuntime().addShutdownHook()以及何时或为何需要关闭我的应用程序。谁能给我举个例子来解释一下。谢谢 最佳答案 据我所知,我将在下面解释这一点。你也可以google一下,也能找到很多信息。addShutdownHook()将注册一些要在程序终止时执行的操作。您启动的程序以两种方式结束:主线程(Root)结束其运行上下文;程序遇到了一些意外情况,因此无法继续进行。如果您添加一个ShutdownHook,该Hook将启动一个线程,该线程将仅在终止时开始运行。例如:Runti