Wie eine blockierende Lesevorgang von Stdin in Python (2.7), die den Prozess pausiert, bis einige Daten in der Pipe angezeigt werden? Das Problem mit read()
liegt in der Tatsache, dass nach dem ersten Mal es read()
nicht mehr blockiert. Beispiel:Blockieren von lesen von Stdin in Python
echo 'test test ' | python test.py
# test.py
import sys
while True:
string = sys.stdin.read() # Blocks only for the first time
print '!!!!!!!!'
'pipe' sendet den Text' test test' zum Skript und schließt die Verbindung - was erwarten Sie mit dem nächsten 'read()'? – furas
Ein anderer Prozess (z. B. Eltern) kann in stdin dieses Prozesses schreiben. –
wie für mich Parent-Prozess kann nur auf "Echo" schreiben, nicht auf Skript. – furas