#include <unistd.h> int pipe(int p[2]);
On ne peut pas manipuler les descripteurs de tubes avec les fonctions et primitives: lseek, ioctl, tcsetattr et tcgetattr, comme il n'y a pas de périphérique associé au tube (tout est fait en mémoire).
Héritage d'un tube dans la figure 10.2 : le processus B hérite des descripteurs ouverts par son père A et donc, ici, du tube.
Figure 10.2: Héritage d'un tube
Dans la Figure 10.3, les descripteurs associés aux tubes sont placés comme descripteurs 0 et 1 des processus A et B, c'est à dire la sortie de A et l'entrée de B. Les autres descripteurs sont fermés pour assurer l'unicité du nombre de lecteurs et d'écrivains dans le tube.
Figure 10.3: Redirection de la sortie standard de A dans le
tube et de l'entrée standard de B dans le tube, et fermeture des
descripteurs inutiles