Advertisement
ekioISpro

Untitled

Jun 5th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. int pipefd[2]; //niz sa dva polja odnosno dvije strane pipe-a (input i output end)
  2. pid_t pid; //signed integer koji pokazuje proces ID
  3. char message[64]; //poruka od korisnika
  4. int create_pipe; //integer
  5. create_pipe = pipe(pipefd); //stvoren pipe za interprocesorsku komunikaciju
  6. pid = fork(); //stvaranje child procesa
  7. if (pid != 0) //ako vrati veće od 0 vratio se PID roditelja
  8. {
  9.         close(pipefd[0]); //zatvori pipe (input end)
  10.         while(1)
  11.         {
  12.             memset(message,0,sizeof(message)); //memset napuni block memrije sa velicinom od 64 * char
  13.             scanf("%s",message); //upisi poruku u konzolu
  14.             write(pipefd[1],message,strlen(message)); //upisuje na output end poruk
  15.         }
  16. }
  17. else
  18. {
  19.     close (pipefd[1]); //zatvara output end
  20.     while (1)
  21.     {
  22.         memset(message,0,sizeof(message)); //memset napuni block memrije sa velicinom od 64 * char
  23.         read(pipefd[0],message,sizeof(message)); //procita iz memorijskog bloka
  24.         printf("%s",message); //ispise u konzoli
  25.     }
  26.    
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement