Befehl zum warten bis Prozess beendet ist --> prcoess.wait()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
bob1704
User
Beiträge: 27
Registriert: Dienstag 5. März 2013, 21:28

Hallo zusammen,
ich habe ein python Skript, welches in defininierten Funktionen ein Prozess in der Shell startet.
Bsp.:

Code: Alles auswählen

	start_aniamtor = "a4_142 -s make_curves.ses"
	subprocess.call(start_aniamtor, shell=True)
Die Funktionen werden anschließend in in dem main Prozess aufgerufen.

Code: Alles auswählen

def main():
	make_energie_movies(param1,pamra2)
	make_response_curves(param1,pamra2)
Ist nun möglich, das der Prozess make_response_curves erst startet sobald make_energie_movies komplett in der Shell beendet ist??

Vielen Dank im Voraus
Gruß
Zuletzt geändert von Anonymous am Dienstag 7. Oktober 2014, 08:26, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@bob1704: Wenn Du dazu `subprocess.call()` verwendest dann ist es nicht möglich denn das wartet bereits selber auf das Ende des externen Prozesses. Wenn das zurückkehrt bevor die Berechnung abgeschlossen ist, dann führt der gestartete ``a4_142``-Prozess diese Berechnung nicht selber aus, sondern gibt das an irgend einen anderen Prozess weiter und beendet sich.

Das mit der Shell halte ich für überflüssig, es sei denn ``a4_142`` ist gar kein Programm sondern ein Shell-Alias. Ansonsten sollte der Aufruf so aussehen:

Code: Alles auswählen

subprocess.call(['a4_142', '-s', 'make_curves.ses'])
Dann hat man keinen zusätzlichen, überflüssigen Shell-Prozess dazwischen.
Antworten