Ich habe ein lang laufendes Python-Skript, das regelmäßig Daten an die Standardausgabe ausgibt, die ich mit etwas aufgerufen habe:
python script.py > output.txt
Dieses Skript wurde für eine Weile ausgeführt und ich möchte es mit Ctrl+ stoppen, Caber nichts von seiner Ausgabe verlieren. Leider habe ich bei der Implementierung des Skripts vergessen, den Puffer nach jeder Ausgabezeile mit etwas wie dem zu leeren sys.stdout.flush()
(der zuvor vorgeschlagenen Lösung zum Erzwingen des Löschens der Ausgabe). Wenn ich also jetzt Ctrl+ Caufrufe, verliere ich alle meine Ausgaben.
Wenn Sie sich fragen, ob es eine Möglichkeit gibt, mit einem laufenden Python-Skript (oder allgemeiner mit einem laufenden Prozess) zu interagieren, um es zu zwingen, seinen Ausgabepuffer zu leeren. Ich frage nicht, wie das Skript bearbeitet und erneut ausgeführt werden soll, damit es richtig geleert wird. Bei dieser Frage geht es speziell um die Interaktion mit einem laufenden Prozess (und in meinem Fall darum, die Ausgabe meiner aktuellen Codeausführung nicht zu verlieren).