SHARE
TWEET

systemy fork 2

Czapek Apr 18th, 2019 (edited) 91 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top