PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm beobachten w2k3


ooAlbert
2006-07-08, 11:41:58
Hallo,

ist es möglich auf einem windows 2003 server ein programm beobachten zu lassen und wenn es abstürzt/beendet wird das es erneut gestartet wird, wenn ja wie?

mfg

Gast
2006-07-08, 12:35:27
bigbrother kann dienste "beobachten"

Seraf
2006-07-08, 12:47:27
Du kannst eine Batchdatei schreiben die das Programm (z.B. Windows Media Player) startet (start) und darauf wartet das es beendet wird (start /wait).

Nachdem das programm beendet wird startet die Batchdatei das Programm neu indem es zum punkt start (:start) zurück springt (goto start).


@echo off
:start
start /wait wmplayer.exe
goto start


/edit
Falls du das Programm selbst schreibst kannst du es natürlich auch zu einem Dienst umschreiben. Dienste haben den Vorteil das man angeben kann was passieren soll wenn sie sich aufhängen (Neustart des Dienstes, abwarten, nichts machen, als programm ausführen usw).

Seraf
2006-07-08, 13:35:09
/edit
Man kann auch den Rückgabewert des Programms überprüfen (errorlevel)
0 und 1 sind gut (Programm sauber par Hand beendet). Andere Werte sind schlecht (Absturz oder sonst etwas) und führen zum Neustart des Programmes.


@echo off

:start
start /wait explorer.exe
rem echo start returned %errorlevel%
if errorlevel 1 (goto end)
if errorlevel 0 (goto end)

:error
goto start

:end
exit

ooAlbert
2006-07-08, 15:12:51
hm, das ist ein kleines java programm das da läuft, also keine exe oder com datei... aber ich werd es mal versuchen.

Seraf
2006-07-08, 15:38:06
java programme kannst du ja auch in der CMD starten mit "java".


Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)


Genaue Pfadangabe zur Datei nicht vergessen.

Würde bei einem Jar-File dann so aussehen:

@echo off
:start
start /wait java -jar c:\windows\loop.jar
goto start


oder

@echo off
:start
java -jar c:\windows\loop.jar
goto start