3

Javaで受信したSIGTERMを処理する方法はありますか?

Java サービスを実行していますが、ユーザーがログオフするときに Java サービスを閉じたくありません。

sigterm シャットダウン ハンドラのみをオーバーライドし、残りのシグナルのハンドラは保持したいと考えています。

信号の詳細
この qns のわずかなバリエーション

4

1 に答える 1

3

Signal渡されたhandleに名前がある場合"TERM"は何かを行い、そうでない場合は無視します。

class MySignalHandler implements SignalHandler {
  public void handle(Signal sig) {
    if (!"TERM".equals(sig.getName())) {
      SigHandler.SIG_DFL.handle(sig);
      return;
    }

    // Handling code goes here.
  }
}
于 2011-05-01T11:34:53.603 に答える