#include #include char *signals[] = { "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGTRAP", "SIGABRT", "SIGBUS", "SIGFPE", "SIGKILL", "SIGUSR1", "SIGSEGV", "SIGUSR2", "SIGPIPE", "SIGALRM", "SIGTERM", 0, "SIGCHLD", "SIGCONT", "SIGSTOP", "SIGTSTP","SIGTTIN", "SIGTTOU", "SIGURG", "SIGXCPU", "SIGXFSZ", "SIGVTALRM", "SIGPROF", "SIGWINCH", "SIGIO", "SIGPWR" }; void handle(int number) { printf("recieving signal %d (%s)\n", number, signals[number-1]); } int main(void) { int i; for (i=1; i<=30; i++) signal(i, handle); read(0, 0, 1); return 0; }