Kommunikation über stdin stdout
-
Hallo,
ich habe 2 Anwendungen (aw01 und aw02). aw01 ist ein Server und nimmt über socket Kommandos an. Trifft ein Kommando ein so started aw01 die Anwendung aw02 mit:
execlp("aw02", "aw02", NULL);
Die Anwendung aw02 wartet nun über stdin auf Kommandos. Wie bringe ich nun aw01 dazu, dass es über stdin an aw02 Kommandos schickt und Ergebnisse über stdout liesst.
Danke + Gruss,
Haksi
-
Ich kann mich nicht mehr so richtig erinnern, aber da war etwas seltsam mit den exec*-Funktionen. Die machen afaik gar keinen neuen Prozess, sondern holen das Zielprogramm in den aktuellen Prozess. Wenn das stimmt, könnte fork() Abhilfe schaffen -- aber besser in der Unix-Ecke nachfragen.
Irgendwie konnte man dann dem neuen Prozess drei Filepointer übergeben, die für die drei Standard-Kanäle verwendet werden.
Abgesehen davon könnten die beiden Prozesse auch ganz einfach über lokale Sockets kommunizieren.
-