sigaction

来源:互联网 发布:vb系列游戏是什么 编辑:程序博客网 时间:2024/05/16 15:04
#include <signal.h>#include <stdio.h>#include <unistd.h>void ouch(int sig){printf("OUCH! - I got signal %d \n", sig);//(void)signal(SIGINT,SIG_DFL);}int main(){//(void)signal(SIGINT, ouch);struct sigaction act;act.sa_handler = ouch;sigemptyset(&act.sa_mask);act.sa_flags = 0;sigaction(SIGINT, &act, 0);while(1){ printf("Hello,Linux\n"); sleep(1);}}

[Output]

Hello,Linux
^COUCH! - I got signal 2 //CTRL+C
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
^COUCH! - I got signal 2 //CTRL+C
Hello,Linux
Hello,Linux
^COUCH! - I got signal 2 //CTRL+C
Hello,Linux
Hello,Linux
^\Quit (core dumped)// CTRL+\ to exit



0 0