#include #include void handler(int); int main(void) { int i; int pid = getpid(); for (i=1; i<50; i++) { if (i == 9) { printf("can not catch sig number 9 (KILL)\n"); continue; } if (i == 23) { printf("can not catch sig number 23 (STOP)\n"); continue; } if (signal(i, handler) == SIG_ERR) { fprintf(stderr, "cannot set handler for %d\n", i); exit(-1); } sleep(1); kill (pid, i); } } void handler(int sig) { printf("sig number: %d ", sig); fflush(stdout); psignal(sig, "sig name"); }