Ich denke, dass Sie einen untergeordneten Prozess mit dem Modul "Unterprozess" erstellen können, aber Sie möchten möglicherweise so etwas wie das Protokoll überwachen. Machen Sie sich also eine Notiz.
Die Nummer wird standardmäßig alle 0,5 Sekunden ausgegeben.
child.py
import time
import sys
i = 0
while True:
print i
sys.stdout.flush()
i += 1
time.sleep(0.5)
Es geht darum, die im Puffer gespeicherten Daten zu spülen ().
Es wird jedes Mal ausgegeben, wenn das Kind ausgibt.
parent.py
import subprocess
proc = subprocess.Popen(['python','child.py'],stdout=subprocess.PIPE)
print "ready"
for line in iter(proc.stdout.readline,''):
print line
ready
1
2
3
4
5
(Folgendes wird weggelassen)
Der Teil, der aus dem untergeordneten Prozess gelesen werden soll, kann auf verschiedene Weise ausgeführt werden, indem ein Thread erstellt, asynchron gelesen und die Daten in die Warteschlange gestellt werden.
Recommended Posts