Prozess starten, überwachen und beenden

keksen

Mitglied
Ich hab jetzt schon längere Zeit gesucht und nicht wirklich was gefunden. Ich weiß auch nicht ob dies überhaupt möglich ist. Und zwar habe ich einen Programm geschrieben das kontinuierlich läuft. Dieses Programm soll in einem eigenem Prozess laufen. Ich hab auch schon ein Shell-Script geschrieben, welches es aufruft. Schreibe ich "stopp" in die Konsole wird dieses langsam beendet. D.h. nicht einfach abgebrochen, sondern es wird gewartet bis es alle gerade laufende Aktionen beendet hat.

Nun möchte ich dieses Programm gerne über einen Webbrowser starten und beendet können. Es soll also einen Button geben der dieses startet. Und wenn es gestartet ist, wird dies angezeigt und man kann ihn über einen Button beenden. Das ganze läuft auf einem Tomcat unter Linux.

Wie ich den Prozess starte bekomme ich schon hin. Aber wie finde ich heraus, ob der Prozess läuft bzw. wie kann ich ihm den Befehl "stopp" schicken?
 
Wenn du den Prozess über Runtime.getRuntime.exec() startest, kannst du dir ein Process-Objekt holen. Dieses kannst du dann bspw. überprüfen, ob es noch läuft und über den OutputStream des Process-Objekts Daten an den Prozess schicken.
 
Okay. Ist es auch möglich ein Process-Objekt zu holen, wenn der Prozess bereits läuft. Zum Beispiel wenn ich den Browser schließe oder auch den Tomcat Server neu starte. Mein Prozess läuft ja weiterhin. Nun bräuchte ich dann halt wieder zugriff darauf, wenn ich wieder die Website aufrufe.
 

Zurück
Oben