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

  1. ryko1820 Messages postés 1633 Date d'inscription   Statut Membre Dernière intervention   310
     
    Hello,

    Google est ton ami : tubes
    0
    1. 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