Ctrl+Cで落とした時に「後始末」な処理(ファイルを閉じるとか,DBにロールバックをかけるとか)をしてから終了させたいとか思ったときの話. 方法は2通りで,ひとつはVMのシャットダウンにフックをかける方法,もうひとつはSIGINTを捕まえるという方法. ちなみに推奨されるのは前者(というか後者が推奨されない.理由は後述). まずは一つ目から.以下の様にして,シャットダウン時に走るスレッドを用意してRuntimeに渡す. public class ShutdownHookTest { public static void main(String[] args) { ShutdownHookTest main = new ShutdownHookTest(); main.exec(); } void exec() { Runtime.getRuntime().addShutdownHook(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く