拦截java机关机调用?

时间:2010-12-30 16:22:13

标签: java application-shutdown

有没有办法在实际关闭之前收到JVM关闭或System.exit调用的通知?我想要这个,所以我的应用程序将能够彻底退出。 我意识到这样的事情不太可能存在,但是,或许还有这样的事情吗?

2 个答案:

答案 0 :(得分:11)

查看Runtime.addShutdownHook

来自API文档:

Java虚拟机关闭以响应两种事件:

  • 当最后一个非守护程序线程退出或调用退出(等效,System.exit)方法时,程序正常退出,或者
  • 虚拟机将终止以响应用户中断,例如键入^ C或系统范围的事件,例如用户注销或系统关闭。

使用Runtime.addShutdownHook可以在这些情况下运行代码。

答案 1 :(得分:3)

您可能想要探索Runtime.getRuntime().addShutdownHook()方法。