madimane Posted February 25, 2006 Share Posted February 25, 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 Link to comment Share on other sites More sharing options...
theocrite Posted February 27, 2006 Share Posted February 27, 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. Link to comment Share on other sites More sharing options...
madimane Posted February 27, 2006 Author Share Posted February 27, 2006 merci beaucoup j'ai utilisé les fonctions dup2,fork et exec et ca marche yahooooooooooooo Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.