signal.c 735 B

12345678910111213141516171819202122232425262728293031
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <unistd.h> //sleep
  6. #include <signal.h> //сигналы
  7. void handlerSign(int sig)
  8. {
  9. switch (sig)
  10. {
  11. case SIGINT: printf("Не мешай мне работать\n");
  12. signal(SIGINT, SIG_DFL); //возвращение исходной диспозиции сигнала
  13. break;
  14. case SIGQUIT: printf("Тебе не прервать меня\n");
  15. signal(SIGQUIT, SIG_DFL);
  16. break;
  17. }
  18. }
  19. int main()
  20. {
  21. signal(SIGINT, handlerSign);
  22. signal(SIGQUIT, handlerSign);
  23. while (1)
  24. {
  25. printf("Я работаю %d\n", getpid());
  26. sleep(1);
  27. }
  28. return 0;
  29. }