Advertisement
Guest User

Untitled

a guest
May 26th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <signal.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <sys/types.h>
  5. #include <unistd.h>
  6. #include <sys/errno.h>
  7.  
  8. void my_SIGINT();
  9. void my_SIGQUIT();
  10. void my_SIGKILL();
  11. void my_SIGUSR1(int sig) {
  12. printf("#### Otrzymano SIGUSR1\n");
  13. //exit(EXIT_SUCCESS);}int main(){
  14. int a = 1;
  15. printf("PID procesu: %d\n\n", (int) getpid());
  16. printf("Program przechwyci sygnał i wykona akcję użytkownika (tam gdzie jest to mozliwe) \n");
  17. if (signal(SIGQUIT, my_SIGQUIT) == SIG_ERR) {
  18. perror("Funkcja signal ma problem z SIGQUIT");
  19. exit(EXIT_FAILURE);
  20. }
  21. if (signal(SIGINT, my_SIGINT) == SIG_ERR) {
  22. perror("Funkcja signal ma problem z SIGINT");
  23. exit(EXIT_FAILURE);
  24. }
  25. if (signal(SIGUSR1, my_SIGUSR1) == SIG_ERR) {
  26. perror("Funkcja signal ma problem z SIGUSR1");
  27. exit(EXIT_FAILURE);
  28. }
  29. if (pause() < 0) {
  30. perror("ERROR: sygnal nie powoduje zakoczenia procesu");
  31. exit(EXIT_FAILURE);
  32. }
  33. return 0;
  34. }
  35. void my_SIGINT(int sig) {
  36. printf("#### Otrzymano SIGINT\n");
  37. //exit(EXIT_SUCCESS);
  38.  
  39. }
  40. void my_SIGQUIT(int sig) {
  41. printf("#### Otrzymano SIGQUIT\n");
  42. exit(EXIT_SUCCESS);
  43. }
  44. void my_SIGKILL(int sig) {
  45. printf("#### Otrzymano SIGKILL\n");
  46. exit(EXIT_SUCCESS);
  47. }
  48.  
  49. void my_SIGSTOP(int sig) {
  50. printf("#### Otrzymano SIGQUIT\n");
  51. exit(EXIT_SUCCESS);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement