Question

Is there any way to get notified of JVM shutting down or System.exit call before the actual shutdown? I want this, so my application will be able to make a clean exit. I realize that such thing is unlikely to exist, but still, maybe there is something like this?

Was it helpful?

Solution

Have a look at Runtime.addShutdownHook

From the API docs:

The Java virtual machine shuts down in response to two kinds of events:

  • The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or
  • The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.

Using Runtime.addShutdownHook you can run code in those cases.

OTHER TIPS

There's Runtime.getRuntime().addShutdownHook() method that you might want to explore.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top