Facebook
From Red Agouti, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 279
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<signal.h>
  4. #include<unistd.h>
  5. #include<sys/types.h>
  6. void sig(int num)
  7. {
  8. printf("numer sygnalu %d \n", num);
  9. }
  10. int main()
  11. {
  12. printf("pid = %d ppid = %d \n",getpid(),getppid());
  13.  
  14.  
  15.  
  16. if(signal(SIGUSR1,sig)==SIG_ERR)
  17. {
  18. perror(":");
  19. exit(-1);
  20. }
  21.  
  22.  
  23. int a=fork();
  24.  
  25.  
  26. switch(a)
  27. {
  28. case -1:
  29. {
  30. perror(":");
  31. exit(-1);
  32. }
  33. case 0:
  34. {
  35.  
  36. sleep(10);
  37.  
  38. kill(a,SIGUSR1);
  39. printf("dziecko\n");
  40. break;
  41. }
  42. default :
  43. {
  44.  
  45. sleep(5);
  46. kill(a,SIGUSR1);
  47. printf("rodzic \n");
  48. sleep(15);
  49. kill(a,SIGUSR1);
  50. printf("rodzic2 \n");
  51. wait(NULL);
  52. }
  53. }
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. return 0;
  62. }
  63.