[C]Programmation systeme

Fermé
Marc - 8 mai 2006 à 16:12
 Marc - 21 mai 2006 à 08:20
Bonjour,

j'aurais besoin d'aide pour cet exercice :

Ecrire une fonction
int MegaPipe(char *argv[][])
qui prend en paramètres un tableau de paramètres d'appels de
int execvp(char *, char *[])
on supposera que la valeur
de argv[n][0]
contient le nom de l'exécutable.
La fonction créant une chaine de pipe entre chaque commande définie par le tableau argv avec redirection de entrée et sortie standart sur les tubes.
Le processus initial réalisant un
wait
sur l'exécution globale du pipe.
Exemple d'appel :

#include "Megapipe.h"
char *a1[] = {"ls", "-R", "/home/exo", NULL};
char *a2[] = {"grep", "exo.txt", NULL};
char *a3[] = {"sort",NULL};
char **lesArgs[] = {a1, a2, a3, NULL};

int main(void){
if(-1 == MegaPipe(lesArgs))
    {
     fprintf(stderr,"Echec");
     perror("MegaPipe");
     exit(1);
     }
exit(0);
}



Merci par avance

1 réponse

Bonjour,

s'il vous plait est-ce que quelqu'un pourrait m'aider, en m'indiquant la manière dont il faut que je procède car je bloque depuis quelques jours déjà.

Merci par avance
0