Advertisement
Guest User

Ex4

a guest
Oct 21st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.68 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/wait.h>
  5.  
  6. #define MAXFILS 3
  7.  
  8. int main(int argc, char* argv[]){
  9.     if(argc < 3){
  10.         printf("Syntaxe : ./ex3 chaîne <liste_fichiers>\n");
  11.         return 0;
  12.     }
  13.    
  14.     int processes = 0;
  15.     int pid;
  16.     int avancement = 2;
  17.  
  18.     while (avancement < argc) {
  19.     while(processes < MAXFILS){
  20.         processes++;
  21.         avancement++;
  22.         pid = fork();
  23.         if (pid == 0){
  24.         execl("/bin/grep", "grep", argv[1], argv[avancement], NULL);
  25.         exit()
  26.         }
  27.         else {
  28.         wait(NULL);
  29.         processes--;
  30.         }
  31.         if (avancement == argc) break;
  32.     }
  33.     wait(NULL);
  34.     processes--;
  35.     }
  36.  
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement