Ich habe ein Stück Code, der einen Prozess startet dann lesen von stdout, um zu sehen, ob es OK geladen hat.Linux-Pipe fertig gelesen, aber Rest zu verwerfen
Danach möchte ich idealerweise die Ausgabe auf /dev/null
oder etwas, das es ablegt, umleiten. Ich war (A) was ist die beste Praxis in dieser Situation und (B) was wird mit dem Schreibprozess passieren, wenn die Pfeife voll wird? Wird es jemals blockieren, wenn die Leitung voll wird und nicht gelesen/gelöscht wird?
Wenn das Ziel ist, um auf /dev/null
umleiten, wäre es möglich, mir zu zeigen, wie zu diesem mit Python und subprocess.Popen
?
proc = subprocess.Popen(command, stderr=subprocess.PIPE)
while True:
if init_string in proc.stderr.readline():
break;
proc.stderr.redirect ??
Sie könnten das Skript ausführen und seine Ausgabe verwerfen 'python firstprogram.py>/dev/null' –
Ich muss jedoch nach dem Lesen ein wenig zuerst verwerfen. – John