In diesem Szenario möchten Sie ein Slave-Skript (slave.py) asynchron von einem übergeordneten Skript (main.py) aufrufen . Insbesondere möchten Sie, dass Slave.py unabhängig von Main.py ausgeführt wird, nachdem es bei seiner ersten Ausführung Argumente von Main.py erhalten hat.
Um nicht blockierendes Verhalten zu erreichen, sollten Sie subprocess.Popen anstelle von subprocess.call verwenden . Der Hauptunterschied besteht darin, dass subprocess.call auf den Abschluss des Befehls wartet, bevor er fortfährt, während subprocess.Popen dies nicht tut.
Hier ist ein Beispiel für die Verwendung von subprocess.Popen:
import subprocess # Pass the arguments from main.py to slave.py arguments = ['python', 'slave.py'] + sys.argv[1:] # Launch slave.py as a non-blocking process process = subprocess.Popen(arguments)
Jetzt main .py kann seine Ausführung fortsetzen, während Slave.py unabhängig ausgeführt wird.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie führe ich ein Slave-Skript asynchron in Python mit nicht blockierendem Prozessaufruf aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!