fork download
  1.  
  2.  
  3. #include <stdio.h>
  4. #include <sys/types.h>
  5. #include <unistd.h>
  6. int main()
  7. {
  8. int a;
  9.  
  10. if (!fork()) {
  11. a = 3;
  12.  
  13. if (!fork()) {
  14. printf("Vrednosta na a e %d, mojot PID e %d, a PID-ot na mojot roditel e %d\n",
  15. a, getpid(), getppid());
  16. }
  17. else {
  18. wait(NULL);
  19. a = 0;
  20. printf("Vrednosta na a e %d, mojot PID e %d, a PID-ot na mojot roditel e %d\n",
  21. a, getpid(), getppid());
  22. execlp("pecati", "pecati", a, NULL);
  23. a = 1;
  24. printf("Vrednosta na a e %d, mojot PID e %d, a PID-ot na mojot roditel e %d\n",
  25. a, getpid(), getppid());
  26. }
  27. }
  28. else {
  29. wait(NULL);
  30. a = 2;
  31. printf("Vrednosta na a e %d, mojot PID e %d, a PID-ot na mojot roditel e %d\n",
  32. a, getpid(), getppid());
  33. }
  34.  
  35. return 0;
  36. }
  37.  
  38.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Vrednosta na a e 3, mojot PID e 3605148, a PID-ot na mojot roditel e 3605147
Vrednosta na a e 0, mojot PID e 3605147, a PID-ot na mojot roditel e 3605144
Vrednosta na a e 1, mojot PID e 3605147, a PID-ot na mojot roditel e 3605144
Vrednosta na a e 2, mojot PID e 3605144, a PID-ot na mojot roditel e 3605143