Javaで並行/分散システムのプロトタイプを作成しています。プロセスが終了すると(コマンドラインのctrl + cやEclipseの赤いボタンなど)、消える前に他のプロセス(最終的な方法)にメッセージをブロードキャストしたいと思います。 finalize()でそれをやろうとしましたが、無駄です。スレッド、ソケット、メインループを持つ純粋なJava。ありがとう。Javaはプログラム終了時に最終アクションを実行しますか?
0
A
答えて
7
Runtime.addShutdownHook
を試しましたか?
注時々JVMがシャットダウン・フックを実行せずに中止する可能性があることを示す資料の一部 - これは優雅なシャットダウンの一部として使用されなければならないが、常に実行することを想定すべきではありません。 (あなたのネットワークが突然切断された場合を想像してください。例えば、はには別れメッセージをブロードキャストできません)
+0
ありがとうございました! – mstath
1
Runtime.addShutdownHook()
を使用できます。
2
Runtime.addShutdownHook()
はあなたが探しているものです。
0
Runtime.addShutdownHook()です。これは、JVMが正常にシャットダウンした場合にのみ実行されます。
関連する問題
- 1. Java Runtime、アプリケーションの終了時に何らかのアクションを実行
- 2. デバッグ時または実行時にプログラム強制終了
- 3. 終了時に同じプログラムを実行するには?
- 4. 終了時のプログラムの終了
- 5. vimeoビデオの終了時にアクションを実行するWordpress
- 6. Java splitpaneヘルプコード終了時に実行します
- 7. IntelliJプロセスは、スプリングブート実行時に終了コード0で終了しました。
- 8. HikariCPはプログラムの終了時に自動的にポーリングを終了します
- 9. 最後のステートメントを終了するとClojureプログラムは終了しませんか?
- 10. アニメーション終了後のJavaScriptの実行アクション
- 11. コンソールは終了時にconsole.readline()で瞬時に終了します
- 12. プログラムの終了時にプロセスが終了しない
- 13. 実行後にプログラムが終了しますか?
- 14. QT Creatorはプログラム実行中にコード0で終了します
- 15. モンゴーズタイマーの終了時にスクリプトを実行
- 16. Expectスクリプト - 終了時にコードを実行
- 17. アプリの終了時にコードを実行
- 18. 強制終了時にコードブロックを実行しますか?
- 19. Visual Studio - プログラムの実行を終了しますか?
- 20. Android - アニメーション終了時にアクティビティを終了しますか?
- 21. アクションを実行した後、AndroidはPendingIntentを終了しますか?
- 22. 同時コマンドを実行して終了すると終了する
- 23. プログラムの終了時に値を返す
- 24. 終了コード10で終了したプログラム
- 25. 終了時にアプリケーションを終了する
- 26. 終了時にプロセスを終了する
- 27. ユーザーアンドロイドアプリが完全に終了したときに最終アクションを実行する方法 - Android Studio
- 28. Rails 3 - 最初のアクションを終了した後でアクションを実行することは可能ですか?
- 29. Apple Watchプログラムは終了コードで終了しました:0
- 30. Python:プロセスを実行し、1時間以内に終了しない場合は終了します。
http://stackoverflow.com/questions/914666/how-to-capture-system-exit-eventを参照してください。 – bithead61