Domanda

Sto provando a eseguire un programma da un genitore usando execl. Faccio la normale installazione del tubo e la forcella. Ecco il trucco ... Ho bisogno dei miei figli (può esserci un numero arbitrario di bambini) per comunicare con il genitore.

Programma " A " (padre) crea le forcelle per tubi ed esegui in "B" (bambino). Nella funzione main () del programma B devo essere in grado di leggere e scrivere nella pipe.

Esiste un modo per accedere ai descrittori dei miei file di pipe nel processo figlio dopo che Excel prende il controllo ed esegue il mio processo figlio?

Grazie, ~ Eric

È stato utile?

Soluzione

execl (3) non ha alcun effetto sui descrittori di file, con una sola eccezione

È possibile contrassegnare un descrittore di file close-on-exec con fcntl (2) , ma generalmente i vari tipi di execve (2) non hanno alcun effetto su descrittori di file aperti e rimangono aperti nei bambini.

Altri suggerimenti

Leggi Beej's Guide to Unix Interprocess Communication (puoi trovarlo su http://beej.us/guide/ ), in particolare la sezione 4.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top