淡定从容,宁静致远
全部博文(329)
分类: LINUX
2013-01-27 11:11:05
#include
#include
void handler(int signo, siginfo_t *info, void *unuse)
{
printf("Catch a signal: %d\n", signo); /* fixme */
printf("pid: %d, val: %d\n", info->si_pid, info->si_int);
}
int main(void)
{
int i;
struct sigaction act;
act.sa_sigaction = handler;
sigemptyset(&act.sa_mask);
sigaddset(&act.sa_mask, SIGINT);
sigaddset(&act.sa_mask, SIGQUIT);
act.sa_flags = SA_RESTART | SA_SIGINFO;
sigaction(SIGINT, &act, NULL);
//signal(SIGINT, handler);
//sigaction(SIGQUIT, &act, NULL);
//signal(SIGQUIT, handler);
for (i = 0; ; i++) {
sleep(1);
printf("i = %d\n", i);
}
return 0;
}