Sinon ça parait normal que son code ne fonctionne pas.
En gros, il faut créer un pipe pour chaque | (logique...), puis faire un tracking correcte des programmes lancés pour le(s) waitpid(s) (amha, l'utilisation d'une liste pour cela serait naturelle...).
Deusio, comme je lui avais déjà expliqué dans une précédente question, il fait son fork beaucoup trop tôt... amah le fork doit venir au niveau de l'exec et la logique (== le calcul de comment on va faire, pas l'exécution) des pipes et des fd doit venir au dessus et créer une fonction helper fork+setup des fds+exec qui retourne un élément à mettre dans la listes des processus lancés. En gros, découper la phase d'analyse de la ligne de(s) commande(s) de la phase d'exécution(s).
[^] # Re: Question ?
Posté par benja . En réponse au message Implémentations de plusieurs pipes. Évalué à 3. Dernière modification le 17 avril 2016 à 17:53.
Amha dirs c'est pour rechercher dans PATH...
Sinon ça parait normal que son code ne fonctionne pas.
En gros, il faut créer un pipe pour chaque | (logique...), puis faire un tracking correcte des programmes lancés pour le(s) waitpid(s) (amha, l'utilisation d'une liste pour cela serait naturelle...).
Deusio, comme je lui avais déjà expliqué dans une précédente question, il fait son fork beaucoup trop tôt... amah le fork doit venir au niveau de l'exec et la logique (== le calcul de comment on va faire, pas l'exécution) des pipes et des fd doit venir au dessus et créer une fonction helper fork+setup des fds+exec qui retourne un élément à mettre dans la listes des processus lancés. En gros, découper la phase d'analyse de la ligne de(s) commande(s) de la phase d'exécution(s).