Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. Pipes
  2.  
  3. Shell ls -l | grep ^d | wc -l
  4.  
  5. benannte Pipes:
  6. mkfifo pip1
  7. mkfifo pip2
  8.  
  9. ls -l > pip1 & Hintergrundausführung
  10. grep ^d < pip1 > pip2 & Hintergrundausführung
  11. wc -l < pip2
  12. ~ warten, bis alle 3 Prozesse fertig sind
  13. rm pid1 pid2
  14.  
  15.  
  16.  
  17. anonyme Pipes:
  18.  
  19. Bsp. Int main(){
  20. int pip[2]; //pip[0] lesen / pip[1] schreiben
  21. pid_t kind;
  22. pipe(pip); //erzeugen, z. Lesen öffnen / zum schreiben öffnen
  23.  
  24.  
  25. switch(kind=fork()){
  26.  
  27. case -1 : perror („Fork-Error\n“);
  28.  
  29. case 0 : //lesen
  30. close(pip[1]);
  31. read(pip[0],....);
  32.  
  33. case default: //schrieben
  34. close(pip[0]);
  35. write(pip[1],...);
  36. }
  37.  
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement