Advertisement
Czapek

systemy fork 2

Apr 18th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int main(int argc, char** argv)
  7. {
  8.     pid_t pid_potomka, pid_rodzica, pid_moj;
  9.     int powtorzen;
  10.     int dl_napisu = 200;
  11.     char komunikat[dl_napisu];
  12.     printf("Na razie dziala jeden proces\n");
  13.     pid_potomka = fork();
  14.     pid_rodzica=getppid();
  15.     pid_moj=getpid();
  16.     switch(pid_potomka)
  17.     {
  18.         case -1:
  19.             printf("rozwidlenie procesu nie powiodlo sie\n");
  20.             exit(1);
  21.         case 0:
  22.             snprintf(komunikat, dl_napisu, "Jestem potomkiem, PID potomka = %d, moj PID = %d, PID rodzica = %d", pid_potomka, pid_moj, pid_rodzica);
  23.             powtorzen = 5;
  24.             break;
  25.         default:
  26.             snprintf(komunikat, dl_napisu, "Jestem rodzicem, PID potomka = %d, moj PID = %d, PID rodzica = %d", pid_potomka, pid_moj, pid_rodzica);
  27.             powtorzen = 5;
  28.             break;
  29.     }
  30.     for (; powtorzen > 0; powtorzen--)
  31.     {  
  32.         puts(komunikat);
  33.         sleep(1);
  34.     }
  35.    
  36. }
  37.  
  38. gcc -o nazwa main.c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement