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.
解决方案
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.
}
}