通过信号实现对ctrl+c的忽略和恢复.c

/*实现对ctrl+c信号的忽略和恢复
忽略ctrl+c信号后可由ctrl+\中断进程
*/
# include
# include
# include
# include


# define DEBUG 0 //1打开DEBUG,0关闭DEBUG

int main (){

    int i = 0;

    signal (SIGINT,SIG_IGN); //sigint ,初始化信号,一般有ctrl+c发出,sig_ign忽略该信号
#ifdef _DEBUG
    signal (SIGINT,SIG_DFL);//sig_dfl将该信号恢复为默认值
#endif
    while(1){
        printf("hello, I am working\t time = %d\n",i);
        i++;
        if (i%5==0){
        sleep(1);
        }
    }
    return 0 ;
}

你可能感兴趣的:(编程)