spacepaste

  1.  
  2. #include <unistd.h>
  3. #include <signal.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. void handler(int signum ){
  7. printf("signal caught\n");
  8. _exit(0);
  9. }
  10. int main() {
  11. pid_t pid;
  12. struct sigaction new_action, old_action;
  13. new_action.sa_handler = handler;
  14. sigemptyset (&new_action.sa_mask);
  15. new_action.sa_flags = 0;
  16. sigaction(SIGINT, &new_action, &old_action);
  17. if (pid = fork()) { //parent
  18. printf("killing.\n");
  19. sleep(2);
  20. kill(pid, SIGINT);
  21. sleep(2);
  22. printf("hihi\n");
  23. } else {
  24. for(;;);
  25. }
  26. return EXIT_SUCCESS;
  27. }
  28.