Wie starte und starte ich ein externes Skript im Hintergrund? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

Wie starte ich einen Hintergrundprozess in Python? 7 Antworten

Ich habe diese beiden Methoden ausprobiert:

os.system("python test.py")

subprocess.Popen("python test.py", shell=True)

Beide Ansätze müssen warten, bis test.py beendet ist, wodurch der Hauptprozess blockiert wird. Ich weiß, dass "nohup" den Job machen kann. Gibt es eine Python-Möglichkeit, test.py oder andere Shell-Skripte zu starten und im Hintergrund laufen zu lassen?

Angenommen, test.py sieht folgendermaßen aus:

for i in range(0, 1000000):
    print i

Sowohl os.system () als auch subprocess.Popen () blockieren das Hauptprogramm, bis 1000000 Ausgabezeilen angezeigt werden. Ich möchte, dass test.py im Hintergrund ausgeführt wird und nur die Ausgabe des Hauptprogramms anzeigt. Das Hauptprogramm wird möglicherweise beendet, während test.py noch ausgeführt wird.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage