网站建议:179001057@qq.com

sigaction()

技术2022-05-11  6

#include<signal.h> #include<stdio.h> #include<string.h> #include<errno.h> #include<unistd.h> int ctrl_c(void) { char ctr[]={"Really quit ???"}; //注意这个地方有大括号 write(STDERR_FILENO,ctr,strlen(ctr)); return 0; } int main(void) { struct sigaction act; sigemptyset(&act.sa_mask); act.sa_flags=0; act.sa_handler=ctrl_c; if(sigaction(SIGINT,&act,NULL)<0) fprintf(stderr,"signation error :%s",strerror(errno)); while(1) {} return 0; } //note:通过sigaction()这个函数触发ctrl_c()这个函数 SIGINT这个代表中断信号 快捷键就是ctrl+c 具体 man 7 signal  


最新回复(0)