Einen Prozess ausführen und beenden, ohne zu warten, für Sie

In Python unter Windows: ich möchte ausführen von code in einem separaten Prozess. Und ich will nicht, dass die Eltern warten für Sie zu Ende. So probiert:

from multiprocessing import Process
from time import sleep

def count_sheeps(number):
    """Count all them sheeps."""
    for sheep in range(number):
        sleep(1)

if __name__ == "__main__":
    p = Process(target=count_sheeps, args=(5,))
    p.start()
    print("Let's just forget about it and quit here and now.")
    exit()

beginnt der untergeordnete Prozess und werden weiterhin ausgeführt. Allerdings, wenn die Eltern das Ende erreicht, es wartet noch für das Kind zu beenden.

Gibt es eine Möglichkeit, dass die Eltern aufhören, auch wenn das Kind laufen? Sicher, ich könnte einfach führen Sie eine neue python-interpreter mit subprocess.Popen - und Futtermittel auf es die Schafe-zählen als separates Skript.

Immer noch, es ist das ganze Modul für die Wiedergabe der Abläufe von Python-code, also würde ich gerne nutzen, dass anstelle der hacken auf der OS. Auch wäre es toll, wenn der selbe code überall funktioniert, wo Python macht, nicht nur auf Windows.

  • Um hier, ich sehen in der Regel das gegenteilige problem.
Schreibe einen Kommentar