Unabhängigen Prozess starten
Verfasst: Donnerstag 31. Juli 2008, 10:07
Hallo,
ich habe folgende Situation, mein Programm wird folgendermassen gestartet:
Dos-Batch --> Exe 1--> (Exe 2->Python)
Dos-Batch ist meine Batch-Datei die gestartet wird (cmd)
Exe n ist ein Programm was von der Kommandozeile gestartet wird
Jetzt möchte ich im Python, das sich das Programm sich selbst neustartet, es geht darum eine andere Version von sich selbst hochzufahren.
Die Konfiguration wird in der Dos-Batch vorbereitet und mit Hilfe von Exe 1
weiterverarbeitet (zwingende Vorstufe einer anderen Anwendung)
Das Problem:
Wenn ich per os.system("start Dos-Batch") die Anwendung erneut starte, wartet die erste Dos-Batch auf das Ende des neuen Prozesses obwohl sich Exe 2 mit Python beendet!!!
Die Prozessliste im Taskmanager unter Windows zeigt dann:
cmd.exe
Exe 1
...
cmd.exe
Exe 1
usw.
Edit: Ich habe es jetzt geschafft das sich die Dos-Batch beendet es ist wohl Exe 1 die hier auf das Ende der Prozesse wartet. Irgendwie muss es eine Verbindung geben ... wenn ich den letzten Prozess beende schließen sich alle Instanzen von Exe 1 eine nach dem anderen. Es ist als ob os.system("start Dos-Batch") wie ein Kindprozess behandelt wird und sich "main" deswegen nicht beendet.
Edit 2: Ich glaube ich habs os.system("start batchdatei.cmd") startet eine shell und diese wartet auf das Ende meines Befehls ... wie muss ich dann den Befehl absetzen??
Wie kann ich das nur abkoppeln ...?
Danke im Voraus.
Viele Grüße
bughunter
ich habe folgende Situation, mein Programm wird folgendermassen gestartet:
Dos-Batch --> Exe 1--> (Exe 2->Python)
Dos-Batch ist meine Batch-Datei die gestartet wird (cmd)
Exe n ist ein Programm was von der Kommandozeile gestartet wird
Jetzt möchte ich im Python, das sich das Programm sich selbst neustartet, es geht darum eine andere Version von sich selbst hochzufahren.
Die Konfiguration wird in der Dos-Batch vorbereitet und mit Hilfe von Exe 1
weiterverarbeitet (zwingende Vorstufe einer anderen Anwendung)
Das Problem:
Wenn ich per os.system("start Dos-Batch") die Anwendung erneut starte, wartet die erste Dos-Batch auf das Ende des neuen Prozesses obwohl sich Exe 2 mit Python beendet!!!
Die Prozessliste im Taskmanager unter Windows zeigt dann:
cmd.exe
Exe 1
...
cmd.exe
Exe 1
usw.
Edit: Ich habe es jetzt geschafft das sich die Dos-Batch beendet es ist wohl Exe 1 die hier auf das Ende der Prozesse wartet. Irgendwie muss es eine Verbindung geben ... wenn ich den letzten Prozess beende schließen sich alle Instanzen von Exe 1 eine nach dem anderen. Es ist als ob os.system("start Dos-Batch") wie ein Kindprozess behandelt wird und sich "main" deswegen nicht beendet.
Edit 2: Ich glaube ich habs os.system("start batchdatei.cmd") startet eine shell und diese wartet auf das Ende meines Befehls ... wie muss ich dann den Befehl absetzen??
Wie kann ich das nur abkoppeln ...?
Danke im Voraus.
Viele Grüße
bughunter