• Domingo 19 de Mayo de 2024, 16:56

Autor Tema:  Comunicacion entre procesos  (Leído 720 veces)

seiken1986

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Comunicacion entre procesos
« en: Lunes 14 de Junio de 2010, 10:39 »
0
Hola amigos, necesito comunicar dos procesos entre si, me da igual que sean padre e hijo o procesos independientes. Necesito establecer un dialogo entre ellos del tipo: LEE PADRE, ESCRIBE PADRE, LEE HIJO, ESCRIBE HIJO, LEE PADRE, ESCRIBE PADRE, LEE HIJO, ESCRIBE HIJO... Tengo desarrollado el codigo que se ve a continuacion, que en principio comunica PADRE e HIJO, pero no de manera recursiva, ¿Alguien podría ayudarme? Gracias de antemano amigos!

#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>


#define LEER 0
#define ESCRIBIR 1

int main ()
{
int descr[2],i;
int bytesleidos;
char mensaje[100],
*frase="HIJO";
char mensaje2[100],
*frase2="PADRE";
printf ("Ejemplon");
pipe (descr);


if (fork () == 0)
{

write (descr[ESCRIBIR], frase, strlen(frase));
close (descr[ESCRIBIR]);
bytesleidos = read (descr[LEER], mensaje, 100);
printf ("Bytes leidos: %dn",bytesleidos);
printf ("Mensaje: %sn", mensaje);
close (descr[LEER]);
}
else
{

write (descr[ESCRIBIR], frase2, strlen(frase2));
close (descr[ESCRIBIR]);
bytesleidos = read (descr[LEER], mensaje2, 100);
printf ("Bytes leidos: %dn",bytesleidos);
printf ("Mensaje: %sn", mensaje2);
close (descr[LEER]);
}
}