Neuen Prozess starten, der auch nach Beedingung des Starter-Prozesses weiterläuft?

Thallius

Top Contributor
Hi,

ich würde gerne aus meiner App heraus eine andere App starten und meine dann beenden. Dies ist gedacht für eine Auto-Update Funktion. Also meine Applikation startet den Update-Prozess und beendet sich. Der Update-Prozess macht den Download, installiert die Dateien und starte die neue Version der App.

Leider ist es mit Runtime exec() unter Windows (Sagte ich schon einmal das Windows doof ist?) so, dass sich der Child Prozess wohl verabschiedet wenn der Parent Prozess verschwindet. Beim Mac funktioniert das wunderbar.

Was kann ich also tun, damit Windows das auch kapiert?

Gruß

Claus
 
Also ich habe es damals bei einem Auto-Updater für meine Anwendung so gelöst:

Java:
Runtime.getRuntime().exec("KS.exe");
System.exit(0);
Und es hat auch so funktioniert unter Windows 7. Also warum dies bei dir nicht geht weiß ich nicht, aber bei mir habe ich erst einen Java-Prozess, für kurze Zeit dann zwei offen, da sich ein neuer geöffnet hat und dann schließt sich der Parent-Prozess und die andere .exe öffnet sich, die allerdings ein eigenständiges Programm darstellt (also kein Child-Prozess ist).
 
Zuletzt bearbeitet:
Vielleicht solltest du dein Auto-Updater und die App als zwei eigenständige Prozesse laufen lassen und nicht als Parent und Child-Prozess. So habe ich es zumindest damals gemacht und hat auch alles wunderbar funktioniert. (funktioniert immer noch)
 
Ich verwende Parent und Child nur damit klar ist wer wen gestartet hat. Ich starte den Updagteer genau wie du mit exec("update.exe") und es geht nicht!

Gruß

Claus
 
setze unter windows ein
Code:
cmd /c start
davor, also
Java:
Runtime.getRuntime().exec("cmd /c start KS.exe");
 
Zuletzt bearbeitet:

Zurück
Oben