Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Prozesse in beide Richtungen verbinden über stdin/stdout

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.04.2008, 20:36 Uhr
RedEagle



Hi
ich habe ein Programm, das eine Datei einliest und an stdout ausgibt, und ein Programm das aus stdin liest, und in eine Datei schreibt.
Diese lassen sich mit einer Pipe in der Konsole verbinden:

Code:
./rd o1.txt | ./wr c1.txt


wr liest jetzt dass, das rd nach stdout schreibt.
Wie schaffe ich es jetzt, dass auch wr etwas nach stdout schreiben kann, was rd ließt?

Eine möglichkeit währe:

Code:
./rd o1.txt | ./wr c1.txt | ./rd o1.txt

Allerdings weiß das 1. rd dann nicht, was das 2. rd gerade mit der Datei anstellt.
bzw.: möchte ich das später auf ein Programm anwenden, das mit der Seriellen Schnittstelle kommuniziert.

Ich bin bei meiner Suche auf die Funktion pipe() gestoßen, aber so wie ich dass verstanden habe, kann ich dann nur mit fork() erstelle "Kopien" des rd-Prozesses kommunizieren.

Also, mein konkretes Vorhaben:
Eine Prozssreihe aufstellen (erstmal nur 2, später ggf mehr (z.B. tee noch dazwischen)), die in beide Richtungen miteinander kommunizieren können.

1. Ist das überhaupt in der Form möglich?
2. Wie realisiere ich das?
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: