Java中有处理收到的SIGTERM的方法吗?如何处理SIGTERM
回答
是的,你可以用Runtime.addShutdownHook()
注册关机钩。
你可以添加一个shutdown hook做任何清理。
像这样:
public class myjava{
public static void main(String[] args){
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("Inside Add Shutdown Hook");
}
});
System.out.println("Shut Down Hook Attached.");
System.out.println(5/0); //Operating system sends SIGFPE to the JVM
//the JVM catches it and constructs a
//ArithmeticException class, and since you
//don't catch this with a try/catch, dumps
//it to screen and terminates. The shutdown
//hook is triggered, doing final cleanup.
}
}
然后运行它:
[email protected]:~$ javac myjava.java
[email protected]:~$ java myjava
Shut Down Hook Attached.
Exception in thread "main" java.lang.ArithmeticException:/by zero
at myjava.main(myjava.java:11)
Inside Add Shutdown Hook
另一种方式来处理信号Java是通过sun.misc.signal包。了解如何使用它,请参阅http://www.ibm.com/developerworks/java/library/i-signalhandling/。
注意: sun。*软件包中的功能也意味着它可能在所有操作系统中都不可移植/行为相同。但你可能想尝试一下。
但事实上,它也是一样的吗? – 2010-06-07 09:39:18
不是 - 不完全是。我提到的信号处理API可用于处理Java应用程序中的大部分Native OS信号(陷阱,内联,终止等)。 另一方面,ShutdownHook只有在JVM最终终止时(在收到终止信号后)才会被调用。 – arcamax 2010-06-14 08:41:11
@arcamax链接似乎被破坏 – GreenGiant 2013-10-23 21:56:36
- 1. Java:如何仅处理SIGTERM?
- 2. wxPython处理SIGTERM/SIGINT
- 3. Python:什么是SIGTERM的默认处理?
- 4. LaunchDaemon处理系统关闭 - 无SIGTERM?
- 5. 如何在Java中优雅地处理SIGTERM信号?
- 6. 我该如何处理中断(即SIGTERM或SIGINT)
- 7. 如何摆脱SIGTERM错误
- 8. 朱莉娅0.4.7:如何捕捉SIGTERM
- 9. 如何在Windows中提升SIGTERM
- 10. 收到SIGTERM
- 11. Amazon Elastic MapReduce - SIGTERM
- 12. pcntl_wait不是SIGTERM
- 13. 如何处理
- 14. 如何处理
- 15. 如何处理
- 16. 在关闭Linux时关闭SIGTERM处理程序的超时配置位置
- 17. 如何处理未处理在node.js中
- 18. 如何处理windows批处理变量?
- 19. 如何处理CIDR块/文本处理?
- 20. 如何处理未处理的IOErrorEvent
- 21. 如何处理未处理的异常?
- 22. Java注释处理 - 如何处理已处理的代码?
- 23. ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:RECEIVED SIGNAL 15:SIGTERM
- 24. WSGI和SIGTERM(猎鹰)
- 25. 如何处理System.AccessViolationException?
- 26. 如何处理ToolStripDropDown?
- 27. 如何处理ValueError?
- 28. 如何处理HTREEITEM
- 29. 如何处理System.IndexOutOfRangeException
- 30. 如何处理RestResponse
博客条目是404 – luckydonald 2017-01-19 12:44:05