xPhilz

Untitled

Feb 20th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <sys/wait.h>
  4. #include <fcntl.h>
  5. #include <stdio.h>
  6. #include <unistd.h>
  7. #include <stdlib.h>
  8.  
  9. void main()
  10. {
  11. int pid;
  12. printf("1) prima della fork \n");
  13. pid = fork();
  14. printf("2) dopo la fork \n");
  15. if(pid==0)
  16. {
  17. printf("sono il processo figlio e il mio pid e' %d\n", pid);
  18. exit(1);
  19. }
  20. else
  21. {
  22. printf("sono il processo padre e il mio pid e' %d\n", pid);
  23. exit(0);
  24. }
  25. }
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. #include <sys/types.h>
  36. #include <sys/stat.h>
  37. #include <sys/wait.h>
  38. #include <fcntl.h>
  39. #include <stdio.h>
  40. #include <unistd.h>
  41. #include <stdlib.h>
  42.  
  43. void main() {
  44. pid_t pid;
  45. printf("1) Prima della fork\n");
  46. pid = fork();
  47. printf("2) Dopo della fork\n");
  48. if (pid==0){
  49. printf("Ciao io sono Quo e il mio pid e' uguale a %d\n", pid);
  50. exit(1);
  51. }
  52. else {
  53. pid=fork();
  54. if (pid==0)
  55. {
  56. printf("Ciao io sono Qua e il mio pid e' uguale a %d\n", pid);
  57. exit(1);
  58. }
  59. else {
  60. printf("Ciao io sono Qui e il mio pid e' uguale a %d\n", pid);
  61. exit(0);
  62. }
  63. }
  64.  
  65.  
  66. }
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. #include <sys/types.h>
  77. #include <sys/stat.h>
  78. #include <sys/wait.h>
  79. #include <fcntl.h>
  80. #include <stdio.h>
  81. #include <unistd.h>
  82. #include <stdlib.h>
  83.  
  84. main()
  85. {
  86. int i;
  87. pid_t pid;
  88. pid=fork();
  89.  
  90. if(pid>0)
  91. {
  92. printf("Padre si riposa\n");
  93. sleep(10);
  94. printf("Padre termina\n");
  95. exit(0);
  96. }
  97. else if(pid==0)
  98. {
  99. while(getppid()>1)
  100. {
  101. printf("Mio padre รจ %d\n",getppid());
  102. printf("Io sono %d\n",pid);
  103. sleep(1);
  104. }
  105. printf("Ora sono orfano!\n");
  106. }
  107. }
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. #include <sys/types.h>
  118. #include <sys/stat.h>
  119. #include <sys/wait.h>
  120. #include <fcntl.h>
  121. #include <stdio.h>
  122. #include <unistd.h>
  123. #include <stdlib.h>
  124.  
  125. int figlio1();
  126.  
  127. int main(){
  128. int m, x, y, z, retv;
  129. pid_t pid;
  130. pid = fork();
  131. if (pid==0){
  132. x = figlio1();
  133. exit(x) ;
  134. }
  135. else{
  136. printf("elab. parallela processo padre\n");
  137. y = 6-2;
  138. }
  139.  
  140. printf("join: padre aspetta\n");
  141. wait(&retv);
  142. m=WEXITSTATUS(retv);
  143. printf("elab. finale padre\n");
  144. z=(m+y);
  145. printf("risultato finale z=%d", z);
  146. }
  147.  
  148. int figlio1(){
  149. int k;
  150. printf("elab. parallela processo figlio \n");
  151. k=3+2;
  152. return k;
  153. }
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. #include <sys/types.h>
  165. #include <sys/stat.h>
  166. #include <sys/wait.h>
  167. #include <fcntl.h>
  168. #include <stdio.h>
  169. #include <unistd.h>
  170. #include <stdlib.h>
  171.  
  172. #define N 10
  173.  
  174. int main()
  175. {
  176. int i;
  177. pid_t pid;
  178.  
  179. printf("\n");
  180. for(i=0;i<N;i++)
  181. {
  182. pid = fork();
  183. if(pid==0)
  184. {
  185. printf("Sono il Figlio n.%d e il mio PID e\' %d\n",i+1,getpid());
  186. sleep(2*(i+1));
  187. return(101+i);
  188. printf("\n\n");
  189. }
  190. }
  191.  
  192. for(i=0;i<N;i++)
  193. {
  194. int retv;
  195. wait(&retv);
  196. printf("\nProcesso n.%d Terminato: %d",i+1,WEXITSTATUS(retv));
  197. }
  198. }
Add Comment
Please, Sign In to add comment