Communication fils_père_fils

Résolu
oumaya -  
 oumaya -
Bonjour,

je veux faire communiquer deus processus fils , mais de cette facon , le 1er fils ecrive dans le 1er tube le père lit et ensuite ecrire ce que lit dans le deuxième tube , a la fin le 2eme fils lit a partir de deuxième tube. J e trouve pas cette solution en C :'( s.v.p aider moi a trouver la solution a mon probléme et merci d'avance.

1 réponse

ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Hello,

Google est ton ami : tubes
0
oumaya
 
hello ryko1820 , merci pour votre attention ,
c deja je viens a voir cet toturial et je rien trouver pour mon problème :(
voici le code qui fait communiquer deux fils , mais ici le père responsable de crée le tube
#include <stdio.h>
#include <sys/signal.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
#include "semaph.h"
main( )
{
int fils1,fils2,n,m,p[2];
char buf[5];
pipe(p) ; /* creation du pipe */
if((fils1=fork( ))==0) /* création du premier fils */
{close(p[1]);
printf(" je suis le fils producteur \n ");
printf("j'écris 5 caractères dans le pipe \n ");
write(p[1]," ville ",5);
close(p[1]); /* fin de l'utilisation du pipe */
printf(" fin d'écriture dans le pipe \n ");
exit(3);
}
else { /* le père crée le fils consommateur */
if((fils2=fork( ))==0)
{printf(" je suis le fils consommateur \n ");
close(p[1]);
read(p[0],buf,5) ; /* lecture du pipe */
printf(" voici les caractères lus \n ");
write(1,buf,5); /* affichage des caractères */
printf (" \n ");
exit(3);
}
else
{
printf(" processus p&e c'est fini ...\n ");
close(p[0]);
close(p[1]);
wait(&n);
wait(&m);
}
}
}


mais ce que je viens de chercher ce d'avoir un programme ou le père lire et ecrire au méme temps de tel facon fait communiquer les deux processus fils.
0