Der Versuch, die Ausgabe eines Unterprozesses in eine Datei umzuleiten.
server.py:
%Vor%Laucher:
%Vor% Die Ausgabe erscheint auf dem Bildschirm, temp.txt
bleibt leer.
Was mache ich falsch?
Als Hintergrund versuche ich, die Ausgabe eines bereits geschriebenen Programms zu erfassen.
Ich kann nicht verwenden:
%Vor%, da das Programm möglicherweise nicht bereinigt wird.
Stattdessen würde ich die Ausgabe über einen Fifo umleiten. Das funktioniert gut, wenn ich server.py manuell starte, aber offensichtlich nicht, wenn ich Popen()
Ursache Redirect nicht funktioniert.
ps -aux
zeigt an, dass server.py
korrekt gestartet wurde.
Alternativ können Sie den Parameter stdout
mit einem Dateiobjekt verwenden:
Wie in der Dokumentation erläutert:
stdin, stdout und stderr geben die Standardeingabe-, Standardausgabe- und Standardfehler-Dateizugriffsnummern des ausgeführten Programms an. Gültige Werte sind PIPE, ein vorhandener Dateideskriptor (eine positive Ganzzahl), ein vorhandenes Dateiobjekt und None.