stdin eines client-prozess mit pipe des parent verbinden

S

smartlok

Hallo,

weiß jemand wie man von einem parent-Prozess auf den StandardInput sdtin des Childprozess schreiben kann? Ich suche ein Stück c++-code, mit dem ich beide Prozesse verbinden kann.
Gibt es evtl. eine Möglichkeit im Child Code auszuführen, der den StdIn mit dem Ende der Pipe verbindet, dass vor dem forc schon geöffnet war, und das Leseende ist?

Vielen Dank für alle Hinweise die mir weiterhelfen könnten,
David Epping
 
Hallo David!

Ich weiß nicht ob das funktioniert aber du kannst es ja mal versuchen:

Code:
int hpipe[2];
pipe(hpipe);

pid=fork();
if (pid == 0)
{
close(0);
dup(hpipe[0])
...
}

pipe() erzeugt ein Pipe.
close(0) bewirkt das schließen des Stdin-Handles(stdin-id = 0).
dup(hpipe[0]) dupliziert den pipehandle setzt ihn auf stdin.

Gruß Frank
 
Zurück