n0cturne
Goto Top

PSExec als Watchdog für Konsolenanwendung

Hallo zusammen,

ich möchte mit psexec.exe eine Konsolenanwendung überwachen und nach dem Beenden dieser die Anwendung wieder starten.

So sieht mein Skript aus:

:Watchdog
taskkill /IM mpecconsole.exe /F
timeout -t 1
call %~d0%~p0000_ScriptSettings\10_MatrixTimeSettings.cmd
%CLS%
echo.
echo ### MatrixWatchdog: MatrixMPEC #################################
echo ###
echo ### Application: %MatrixPOSPath%\MatrixMPEC\mpecconsole.exe
echo ### Start time:  %MatrixSystemTimestamp%
echo ###
echo ################################################################

%MatrixPosTools%\psexec.exe /accepteula -w %MatrixPOSPath%\MatrixMPEC %MatrixPOSPath%\MatrixMPEC\mpecconsole.exe

call %~d0%~p0000_ScriptSettings\10_MatrixTimeSettings.cmd
echo %MatrixSystemTimestamp% - ERROR - MatrixMPEC is closed. Watchdog is restarting the application.>>%MatrixLogFile%

goto Watchdog

:EXIT
%PAUSE%
exit 0

Wen nun die mpecconsole.exe beendet wird sollte ja die psexec das Skript weiterlaufen lassen, damit es wieder zur :Watchdog Sprungmarke geht,
damit die Anwendung wieder gestartet wird.

Leider bekomme ich im Watchdog die Meldung:
mpecconsole.exe exited with error code -1073741510
^CBatchvorgang abbrechen (J/N)?
Als ob man Strg+C gedrückt hätte.

Hat jemand ne Idee, wie ich dieses Problem beheben kann?

*edit: Selbes Verhalten auch ohne psexec. Dafür mit start /wait
In diesem Fall bekomme ich nur die Meldung:

^CBatchvorgang abbrechen (J/N)?

Content-Key: 452728

Url: https://administrator.de/contentid/452728

Printed on: April 16, 2024 at 12:04 o'clock

Member: maretz
maretz May 17, 2019 at 12:06:01 (UTC)
Goto Top
Moin,

je nach Anwendung (die kenne ich nicht) würde ich mit dem Hersteller in Verbindung treten WARUM die absemmelt... Wenn bei dir am Auto ständig der Motor ausgeht dann kannst du natürlich einfach damit leben das du den alle paar Minuten wieder anmachst. Geht bis zur nächsten Werkstatt - aber dann würdest du vermutlich auch überlegen das generelle Problem beheben zu lassen, oder?
Member: n0cturne
n0cturne May 17, 2019 at 12:55:24 (UTC)
Goto Top
Es geht um keinen Absturz sondern um einen gewünschten Neustart.
Member: emeriks
emeriks May 20, 2019 at 07:13:16 (UTC)
Goto Top
Hi,
ein Würgaround vielleicht:
...
start cmd /c taskkill /IM mpecconsole.exe /F
timeout -t 1
...
Dabei wird eine neue CMD gestartet, in welcher das TASKKILL erfolgt.

E.