在 Java 中程序退出时运行代码
是否可以编写一个方法,让 System.exit 在终止程序时调用?
Is it possible to write a method that System.exit will call when you terminate a program?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用
Runtime.getRuntime() .addShutdownHook(线程)
。Use
Runtime.getRuntime().addShutdownHook(Thread)
.关闭挂钩就是答案...这是一篇关于它们的文章。它们并非没有问题(本文中讨论了其中一些问题)。
Shutdown hooks are the answer... here is an article on them. They do not come without issues (some of them are discussed in the article).
您可以使用关闭挂钩。
http://download .oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)
请注意,如果 VM 异常中止或 Runtime.halt( int) 被调用。
You can use a shutdown hook.
http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)
Note that shutdown hooks will not run if the VM aborts abnormally or Runtime.halt(int) is called.
您可以添加 虚拟机关闭挂钩。
You can add a VM shutdown hook.
查看关闭挂钩,请参阅 http://docs .oracle.com/javase/8/docs/technotes/guides/lang/hook-design.html
Look into shutdown hooks, see http://docs.oracle.com/javase/8/docs/technotes/guides/lang/hook-design.html