シグナルを拾う。
Javaで、シグナルを扱えないものかと思い、探してみたらあった。
sun.miscだけど。
実装は簡単。
SignalHandlerを実装して、Signalのhandleに登録するだけ。
import sun.misc.Signal; import sun.misc.SignalHandler; public class SignalTestMain { public static void main(String[] args) { Signal signal = new Signal("TERM"); Signal.handle(signal, new SignalHandler() { public void handle(Signal signal) { System.out.println("name:" + signal.getName()); System.out.println("number:" + signal.getNumber()); } }); while(true){} } }
Signal#raise(Signal)ってメソッドもあってこいつは、シグナルを発生させることができる。