la commande pipe te renvoie deux descripteurs de fichiers, l'un pour le processus qui envoyer les données dans le tube, l'autre descripteur pour le processus qui les lira.
Comme ce sont des descripteurs de fichiers, tu utilises pour lire et écrire les fonctions standards "read" et "write".
Afin que tes deux processus partagent le même tube, il faut utiliser la commande pipe AVANT d'utiliser la commande fork.
exemple :
main()
{
int tab[2]; // tableau pour les descripteurs créés par "pipe"
pid_t fils;
pipe(tab);
/* a partir d'ici, le descripteur tab[0] sera utilisé pour lire le tube, et le descripteur tab[1] sera utilisé pour écrire dedans. */
fils=fork(); // création d'un processus fils.
/* Normalement, pour un fonctionnement optimal, le processus fils est celui qui écrit les infos dans le pipe (producteur) et le processus père les reçoit (consommateur). */
if( fils==(pid_t)0)
{
// début programme processus fils
...
write(tab[1], data); // écriture d'infos dans le pipe
...
// fin programme processus fils
exit(0);
}
else
{
// poursuite du processus père
...
read(tab[0], data); // lecture des infos du pipe
...
}
}