Lauch Subprozess von Kolben und Neustart Kolben wird den Subprozess auch töten.Starten Sie den Prozess von der Flasche
jemand weiß, wie kann man einen Prozess vom Hauptprozess lösen? Wenn ich also den Hauptprozess abbringe, bleibt der Subprozess aktiv?
Es:
Im Hauptkolben App, wenn ich eine Route öffnen, zum Beispiel/store_changes die App den Code auszuführen:
subprocess.Popen("python hdb_store_changes.py --country {0} --id_first_level {1} --threads {2} --qty {3} --username {4}".format(country.upper(),id_first_level,threads,fixedqty,username), shell=True,stdout=subprocess.PIPE)
Dieser Code wird ein anderes Programm ausführen, wird dauert lange zu verarbeiten ... wenn ich den Kolben app dieser Prozess sterben auch neu zu starten, muss ich einen Weg finden, aus dem Hauptprozess zu lösen ...
Dank
Sellerie. Hier ist eine Einführung: http://blog.miguelgrinberg.com/post/using-sellery-with-flask – wgwz
Wenn Sie möchten, dass es weiter läuft, selbst wenn 'flask' tot ist, wer liest von seinem Standout? Wenn die Antwort niemand ist, dann lösche "stdout = PIPE" -nicht "stdout = PIPE", es sei denn, du liest während des Prozesses aus der Pipe, andernfalls hängt sie, wenn der entsprechende OS-Pipe-Puffer voll ist. [Um die Ausgabe auszublenden, verwenden Sie 'stdout = DEVNULL'] (http://stackoverflow.com/q/11269575/4279). Unrelated: drop 'shell = True' und übergeben Sie die Argumente stattdessen als Liste. – jfs