Question

J'essaie d'exécuter un programme à partir d'un parent en utilisant execl. Je fais la configuration normale du tuyau et de la fourche. Voici le truc ... J'ai besoin que mes enfants (il peut y avoir un nombre arbitraire d'enfants) pour communiquer avec le parent.

Programme " A " (parent) crée une fourche et exécute dans & B; B " (enfant). Dans la fonction main () du programme B, je dois être capable de lire et d’écrire dans le tube.

Existe-t-il un moyen d'accéder à mes descripteurs de fichier de canal dans le processus enfant après la prise en charge par Excel du processus enfant?

Merci ~ Eric

Était-ce utile?

La solution

execl (3) n'a aucun effet sur les descripteurs de fichier, à une exception près

Il est possible de marquer un descripteur de fichier close-on-exec avec fcntl (2) , mais généralement les différentes variantes de execve (2) n'ont aucun effet sur les descripteurs de fichiers ouverts et ils restent ouverts chez les enfants.

Autres conseils

Lisez le Guide de Beej sur la communication Unix Interprocess Communication (vous pouvez le trouver à l'adresse . http://beej.us/guide/ ), en particulier la section 4.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top