Java: Как обрабатывать только SIGTERM? - PullRequest
2 голосов
/ 01 мая 2011

Есть ли в Java способ обработки полученного SIGTERM?

Я запускаю службу Java, но не хочу закрывать службу Java, когда пользователь выходит из системы.

Хотел бы переопределить только обработчик выключения sigterm, но сохранил обработчики для остальных сигналов.

детали сигналов небольшое изменение этого QNS

1 Ответ

2 голосов
/ 01 мая 2011

Если 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.
  }
}
...