4

私の Java コンソール アプリケーションでは、Ctrl+C キーの押下をキャッチし、Runtime.getRuntime().addShutdownHook() を使用して正常なシャットダウンを実行するスレッドを追加します。

このスレッドでは、いくつかの内部キューですべての未処理の作業を処理し、アプリケーションを正常に終了します。これは通常、私が望んでいることです。

ただし、アプリケーションには、処理に時間がかかる (数分) 内部キューがある場合があります。その場合は、アプリケーションを強制的に終了するために Ctrl+C をもう一度押すオプションが必要です。

他のアプリケーションがこのように動作しているのを見たことがありますが、Java で 2 番目の Ctrl+C をキャッチする方法がわかりません。

4

2 に答える 2