たとえば、アプリケーションをLinuxターミナルで実行していて、キーボードの「CTRL + C」を押してプロセスを強制終了すると、Javaプログラムが終了します。
Javaアプリケーションでこの「要求」をキャッチして、正常にシャットダウンし、すべてのリソース/書き込みログを解放できるようにする方法はありますか。応答に違いが生じる場合は、いくつかの異なるスレッドを実行しています。
addShutDownHookがあることは知っていますが、Javaのドキュメントに記載されているように、Linuxの「CTRL + C」からのkillシグナルなど、特定の状況では呼び出されません...他の方法はありますか?
Runtime.getRuntime().addShutdownHook(new Thread()
{
public void run ()
{
// TODO: implement graceful shutdown here.
}
});