Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <sys/wait.h>
  6.  
  7.  
  8. pid_t p;
  9. pid_t pp;
  10. pid_t ppp;
  11. pid_t pppp;
  12.  
  13.  
  14. int main()
  15. {
  16.  
  17. switch(fork())
  18. {
  19. default:
  20.  
  21. switch(fork())
  22.  
  23. {
  24. case 0:
  25. printf("P2: pid potomka: %d ppid: %d\n", getpid(), getppid());
  26. p=getpid(); //P2
  27.  
  28. exit(0);
  29. }
  30. printf("P1: pid przodka: %d ppid: %d [ %d ]\n ", getpid(), getppid(),p);
  31. switch(fork())
  32. {
  33. case 0:
  34. printf("P4: pid potomka: %d ppid: %d\n", getpid(), getppid());
  35. ppp=getpid(); //P4
  36. exit(0);
  37. }
  38. switch(fork())
  39. {
  40. case 0:
  41. printf("P5: pid potomka: %d ppid: %d\n", getpid(), getppid());
  42. pppp=getpid(); //P5
  43.  
  44. switch(fork())
  45. {
  46. case 0:
  47. printf("P8: pid potomka: %d ppid: %d\n", getpid(), getppid());
  48. exit(0);
  49. }
  50.  
  51. switch(fork())
  52. {
  53. case 0:
  54. printf("P9: pid potomka: %d ppid: %d\n", getpid(), getppid());
  55. exit(0);
  56. }
  57. wait(NULL);
  58. wait(NULL);
  59. exit(0);
  60. }
  61.  
  62. switch(fork())
  63. {
  64. case 0:
  65.  
  66. printf("P3: pid potomka: %d ppid: %d\n", getpid(), getppid());
  67. pp=getpid(); //P3
  68.  
  69. switch(fork())
  70. {
  71. case 0:
  72. printf("P6: pid potomka: %d ppid: %d\n", getpid(), getppid());
  73. exit(0);
  74. }
  75.  
  76. switch(fork())
  77. {
  78. case 0:
  79. printf("P7: pid potomka: %d ppid: %d\n", getpid(), getppid());
  80.  
  81. switch(fork())
  82. {
  83. case 0:
  84. printf("P10: pid potomka: %d ppid: %d\n", getpid(), getppid());
  85. exit(0);
  86. }
  87. wait(NULL);
  88. exit(0);
  89. }
  90. wait(NULL);
  91. wait(NULL);
  92.  
  93. exit(0);
  94. }
  95.  
  96.  
  97. wait(NULL);wait(NULL);wait(NULL);wait(NULL);wait(NULL);
  98.  
  99.  
  100.  
  101.  
  102. case 0:
  103. //printf("P3: pid potomka: %d ppid: %d\n", getpid(), getppid());
  104. exit(0);
  105. }
  106.  
  107.  
  108. system("pause");
  109. return 0;
  110.  
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement