代码如下:
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void show_handler(int sig)
{
printf("hello/n");
// sleep(1);
}
int main(void)
{
int i = 0;
struct sigaction act, oldact;
act.sa_handler = show_handler;
sigaddset(&act.sa_mask, SIGINT); //(1)
act.sa_flags = SA_RESETHAND | SA_NODEFER; //(2)
//act.sa_flags = 0; //(3)
sigaction(SIGINT, &act, &oldact);
while(1) {
sleep(1);
printf("waiting for signals.../n", i);
}
}