[Debian] Stdin und Stdout von fremden Prozess lesen/schreiben



  • Hallo,

    ist es moeglich von einem fremden Prozess aus stdout zu lesen und in stdin zu schreiben? Bitte nicht /proc/<PID>/fd/ nennen - das funktioniert ja leider nicht. Die Methode mit dem Subprozess ist bekannt. Aber mir waere es lieber wenn mein Skript unabhaengig vom anderen Prozess waere. Stdout ist auch nicht so wichtig, kann ich auch die log auslesen. Aber Stdin wird unbedingt gebraucht um Befehle absetzen zu koennen.

    Vielen Dank! 🙂

    Oliver



  • Gerade die Variante mit Screen entdeckt. Funktioniert soweit! 🙂
    Aber falls noch jemand Alternativen kennt...



  • Du kannst bei Konsolenprogrammen die Ein-/Ausgabestreams umleiten, indem du Pipes verwendest, z.B.:

    REM Ausgabe in Datei
    test > ausgabe.txt
    
    REM Eingabe aus DAtei
    test < eingabe.txt
    
    REM Übergabe zwischen zwei Programmen (die Ausgaben von control.exe werden an test.exe als Eingabe verwendet)
    control | test
    

    Wenn du aus einem Programm heraus einen anderen Prozess steuern willst, könntest du dir popen() oder CreateProcess() ansehen.



  • Hallo,

    danke, aber die Methoden sind mir alle bekannt. 🙂
    Mir ging es darum einen bereits laufenden Prozess steuern zu koennen.


Anmelden zum Antworten