• # Un pipe c'est entre deux processus

    Posté par (site web personnel) . En réponse au message probleme de compréhension sur les tubes nommés. Évalué à 4.

    alors que je m'attendais a ce que chaque terminal recoit le message car ils sont tous les deux a l'écoute du fichier pipe. Il semblerait que le noyau ne transmet le message juste à un seul receveur, mais pourquoi faire ca ?

    Un pipe c'est rediriger une sortie d'un programme vers l'entrée d'une autre. Cela est utile pour modulariser des traitements ou appliquer des filtres sur du texte successivement par exemple.

    Donc de fait pour un pipe il y a un processus qui émet en entrée et un seul qui récupère les données en sortie. Sinon, tu observe des comportements étranges comme celui que tu as où deux processus accèdent à des portions de la sortie suivant l'état du buffer du pipe et l'ordonnancement du système d'exploitation.

    Il existe après des outils et méthodes pour dupliquer le pipe (et donc une émission en entrée puisse être lue comme tu l'attends par X processus derrière) mais ce n'est pas le comportement standard d'un pipe qui est plus élémentaire que ça.