/*实现对ctrl+c信号的忽略和恢复
忽略ctrl+c信号后可由ctrl+\中断进程
*/
# include <unistd.h>
# include <stdio.h>
# include <stdlib.h>
# include <signal.h>
# 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 ;
}
忽略ctrl+c信号后可由ctrl+\中断进程
*/
# include <unistd.h>
# include <stdio.h>
# include <stdlib.h>
# include <signal.h>
# 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 ;
}