#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);
while(1)
{
printf("Hello,Linux\n");
sleep(1);
}
}
[output]
$ cc -o ctrlc ctrlc.c
$ ./ctrlc
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
^COUCH! - I got signal 2
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
Hello,Linux
^C