Java: How to handle a SIGTERM only?

2019-02-15 18:52发布

Is there a way in Java to handle a received SIGTERM?

I am running a java service but do not want to close my java service when the user log off.

Would like to override only the sigterm shutdown handler but retain the handlers for the rest of the signals.

details of signals
a slight variation of this qns

1条回答
我命由我不由天
2楼-- · 2019-02-15 19:44

If the Signal passed to handle has name "TERM" then do something, otherwise, ignore it.

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

    // Handling code goes here.
  }
}
查看更多
登录 后发表回答