gaojie@zs-gaojie:~$ cat signal.c #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> #include <sys/types.h> //信號處理方法 void sighandler(int signo){ printf("sighandler:%d\n", signo); } int main(){ //typedef void (*sighandler_t)(int); //sighandler_t signal(int signum, sighandler_t handler); //註冊處理ctrl+c(2)的信號. printf("signal: SIGINT\n"); signal(SIGINT, sighandler); //註冊處理kill(15)的信號 printf("signal: SIGTERM\n"); signal(SIGTERM, sighandler); fflush(stdout); p: pause(); printf("signal down..."); //繼續pause, 處理完後. goto p; return EXIT_SUCCESS; }