La tuyauterie fonctionne en connectant la sortie d'un processus A à l'entrée de B. La connexion peut être interrompue lorsque
- A ferme sa sortie. B obtiendra EOF.
- B ferme son entrée. A obtiendra une erreur indiquant que la sortie n'est plus disponible lorsqu'il essaiera d'écrire l'octet suivant.
Étant donné que ces deux cas sont si courants, la gestion a été déplacée dans la bibliothèque standard C.
head
ferme le fichier d'entrée après avoir lu le montant requis. lorsqu'un tube est fermé d'un côté, l'autre côté reçoit des erreurs d'écriture ; cela cause base64
à fermer, ce qui provoque à son tour cat
fermer.
Après base64
sort 10 octets, head
obtient suffisamment d'entrées et de sorties. Lorsque le premier tente de sortir plus d'octets, il recevra le signal SIGPIPE et sortira donc aussi。Pour la même raison, cat
sortira à son tour.