#include #include #include #include void handler(int signum ){ printf("signal caught\n"); _exit(0); } int main() { pid_t pid; struct sigaction new_action, old_action; new_action.sa_handler = handler; sigemptyset (&new_action.sa_mask); new_action.sa_flags = 0; sigaction(SIGINT, &new_action, &old_action); if (pid = fork()) { //parent printf("killing.\n"); sleep(2); kill(pid, SIGINT); sleep(2); printf("hihi\n"); } else { for(;;); } return EXIT_SUCCESS; }