Pregunta
Estoy tratando de ejecutar un programa desde un padre usando execl. Hago la configuración normal de la tubería y la horquilla. Aquí está el truco ... Necesito que mis hijos (puede haber un número arbitrario de niños) se comuniquen con los padres.
Programa " A " (padre) crea horquillas de tubería y execl en " B " (niño). En la función main () del programa B, necesito poder leer y escribir en la tubería.
¿Hay alguna forma de acceder a mis descriptores de archivos de tubería en el proceso secundario después de que Excel se haga cargo y ejecute mi proceso secundario?
Gracias ~ Eric
Solución
execl (3)
no tiene efecto en los descriptores de archivo, con una excepción
Es posible marcar un descriptor de archivo close-on-exec con fcntl (2)
, pero generalmente los diversos sabores de execve (2)
no tienen efecto en abren descriptores de archivos y permanecen abiertos en los niños.
Otros consejos
Lea la Guía de Beej para la comunicación entre procesos Unix (puede encontrarla en http://beej.us/guide/ ), en particular la sección 4.