Java 对系统信号的通知获取

主要介绍Java 如何对系统信号通知进行获取和处理。直接上demo

@SuppressWarnings("restriction")
public class Test1 implements SignalHandler {

@Override
public void handle(Signal sn) {
System.out.println(sn.getName() + "is recevied.");
}

public static void main(String[] args) throws InterruptedException {
Test1 testSignalHandler = new Test1();
// install signals
Signal.handle(new Signal("USR2"), testSignalHandler);
for (;;) {
Thread.sleep(3000);
System.out.println("running......");
}
}
} 

mac 能支持的信号有: kill -l

 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE

 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS

13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG

17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD

21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU

25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH

29) SIGINFO 30) SIGUSR1 31) SIGUSR2

 

信号通知方式:kill -USR2 pid

 

posted @ 2019-04-23 13:44  温柔了十里春冬  阅读(1119)  评论(0编辑  收藏  举报