madimane Posté(e) le 25 février 2006 Partager Posté(e) le 25 février 2006 bonjour tout le monde je suis en train de faire un programme en c qui simule un interpreteur de commande. mon problème maintenant est au niveau des pipes. je veux faire communiquer juste les fils entre eux en faisant intervenir les pipes nommés et dup2 et que chaque fils fait un execvp. par exemple: prog1 param1 | prog2 param2 param3 | prog3 param31 param32 donc le fils1 execute le prog1 et l'autre le prog2 et ainsi de suite en communicant sur le pipe ou les pipes nommé(s). mais franchement je ne sais pas comment faire ,peut être des indices de votre part me seront utiles!! merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 27 février 2006 Partager Posté(e) le 27 février 2006 Tu commence par déclarer un pipe (int[2]) puis tu utilise la fonction pipe(2), ensuite tu fais ton fork(2) et tu appelles dup(2) dans chaqun de tes processus en oubliant pas que 0 c'est l'entrée et 1 la sortie. Ensuite tu as ton pipe, tu peux utiliser les fonctions comme execve(2), execl(3), execlp(3) etc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
madimane Posté(e) le 27 février 2006 Auteur Partager Posté(e) le 27 février 2006 merci beaucoup j'ai utilisé les fonctions dup2,fork et exec et ca marche yahooooooooooooo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.