C signal

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;
}
相關文章
相關標籤/搜索