Frage

Ich versuche, ein Programm von einem Elternteil auszuführen mit execl. Ich mache den normalen Rohraufbau und Gabel. Hier ist der Trick ... Ich brauche meine Kinder (es können eine beliebige Anzahl von Kindern), um alle mit den Eltern zu kommunizieren.

Programm "A" (parent) erzeugt Rohrgabeln und execl in "B" (Kind). In der main () Funktion des Programm B benötigen ich in der Lage sein, um das Rohr zu lesen und zu schreiben.

Gibt es eine Möglichkeit meine Pfeife Filedeskriptoren in dem untergeordneten Prozess zuzugreifen, nachdem die Excel übernimmt und ausführt, mein Kind Prozess?

Danke, ~ Eric

War es hilfreich?

Lösung

execl(3) hat keine Auswirkung auf Filedeskriptoren, mit einer Ausnahme

Es ist möglich, einen Dateideskriptor close-on-exec mit fcntl(2) zu markieren, aber in der Regel die verschiedenen Aromen von execve(2) haben keinen Einfluss auf die Deskriptoren für offene Dateien und sie offen bleiben bei Kindern.

Andere Tipps

Lesen Beej Guide to Unix Interprocess Communication (Sie können es zu finden unter http://beej.us/guide/ ), insbesondere Abschnitt 4.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top