#include #include #include typedef void (*sig_handler) (int); void kill_me(int s) { puts("\n\nGoodbye cruel world...\n"); exit(99); } int change_signal(int sig, sig_handler handler) { struct sigaction action = { .sa_handler = handler, .sa_flags = 0, }; sigemptyset(&action.sa_mask); return sigaction(sig, &action, NULL); } int main(void) { char name[30]; if (change_signal(SIGINT, kill_me) < 0) { fprintf(stderr, "Couldn't change SIGINT action\n"); exit(1); } printf("Enter your name: "); fgets(name, 30, stdin); printf("Hello %s\n", name); return 0; }