Windows Prozess mit Java überwachen

Antrax

Mitglied
Hallo, ich bin in besitzt eines Windows 2003 Servers ...

Nun, ich suche nach einer Möglichkeit mit Java verschiedene Prozesse zu überwachen, und ggf. wenn sie beendet werden, sie automatisch neuzustarten.

Gibt es da eine Möglichkeit ? Bzw. hätte vielleicht jemand schon eine Rohfassung solch eines Scripts ?


MfG Antrax
 
dies ist die Java, nicht Java-Script Ecke. Falls du also Scipts für den WindowsScriptingHost suchst, bist du falsch.
Unter java geht das Designbedingt nicht mit Bordmitteln. Du musst auf das JNI ausweichen.

Vielleicht findest du aber mit samurize schon was du brauchst.
 
Naja, das ist nicht direkt was ich suche :)

Also ich beschriebe mal mein ganzes Problem ...

Ich habe einen WIndows 2003 Server auf dem mehrere Gameserver ( hauptsächlich Counter-Strike 1.6 ) laufen.

Nun, ich möchte diese über ein Webinterface per php starten, rebooten und schließen können.

PHP ist leider dazu nicht so bsonders in der Lage ( nur starten ).

Habe also vor ein kleines Programm in Java zu schreiben, womit ich Programme starten, neustarten und auch schließen ( Windows Prozess killen ) kann.

Mittlerweile habe ich herausgefunden, dass man ja Prozesse mit der tasklist.exe in Windows auslesen kann und auch mit Hilfe der taskkill.exe schließen kann.
( siehe dazu http://is-it-true.org/nt/atips/atips301.shtml

Bin mir aber nicht genau im klaren,. wie ich es genau umsetzen soll.
Bzw. wie lese ich am besten und auf einfdache Weise die Ausgabe der tasklist.exe aus und durchsuche sie nach dem prozess ?

Mfg Antrax
 
ruf die tasklist.exe einfach mit dem Parameter >tasklist.txt auf also z.B.

tasklist.exe > tasklist.txt.

Dieses erzeugt dir eine Textdatei die du dann Zeilenweise auslesen kannst und dir dann so die Tasknamen besogen kannst.

Aber kann PHP keine Programme starten? ich denke doch. Dann sollte es mit PHP genauso gehen.
 
doch, php kann mit dem Befehl exex("dateipfad"); auch programme starten, allerdings möchte ich es aus sicherhitsgründen nicht mit php machen.
 
weiteres programm

Ich hatte ein ähnliches problem.
ich lese die prozesse mit dem folgendem Tool aus, weil es auf 2000 und XP läuft aus.

http://www.beyondlogic.org/solutions/processutil/processutil.htm

BufferedReader br_runningprozess = new BufferedReader (new InputStreamReader(Runtime.getRuntime().exec("Process.exe").getInputStream()));

mit: String s_process = br_runningprozess.readLine()

kann ich jede einzelen Zeile auslesen.
Vergleiche dann den Inhalt auf den namen der zu stoppenden .exe, nehme die PID und rufe dann

Runtime.getRuntime().exec("Process.exe -k " + getPID());

ist zwar nicht der schönste weh.. aber es läuft....
 
Zurück