C/Visual C - Pipes en linux

 
Vista:

Pipes en linux

Publicado por Hernan (1 intervención) el 03/09/2005 23:24:33
Necesito informacion sobre comunicacion entre procesos para programcacion bajo linux, mas especificamente PIPEs y FIFOs
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pipes en linux

Publicado por chuidiang (677 intervenciones) el 05/09/2005 10:00:23
Hola:

En http://www.geocities.com/chuidiang/ tienes tutoriales y ejemplos de colas de mensajes y de procesos.

En cuanto al pipe() es sencillo. Basta hacer algo como esto

int [2] pipa;
pipe(pipa);
if (fork() == 0)
{
// proceso hijo
close (pipa[0]);
// El hijo puede ahora enviar informacion al padre escribiendo en pipa[1] como si fuera un fichero normal (con write()).
}
else
{
// proceso padre
close (pipa[1]);
// El padre puede ahora leer informacion del hijo leyendo de pipa[0] como si fuera un fichero normal (con read()).
}

Si quieres comunicacion bidireccional, hay que abrir dos pipe() o bien sincronizar padre e hijo con semaforos para evitar que ambos escriban en pipa(1) o lean de pipa(0) a la vez.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar