Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés. Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
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.