CMD Kill

Sorg3nkind

Cadet 1st Year
Registriert
Feb. 2016
Beiträge
10
Guten Abend,

ich hätte ein kleines Problem wo ich schon ein paar Tage dran hänge und ich mir denke das es bestimmt simpel ist aber ich einfach nicht auf die Lösung komme. Evtl kann mir jemand helfen :rolleyes:

Zum Thema ich habe eine restart bat für einen Gameserver diese funktioniert die Batch Check alle 60 Sekunden ob der Server läuft oder nicht. Falls er nicht laufen sollte startet er die exe und die 2 Batch Names KillServer. In dieser Batch läuft ein Countdown von 14400 Sekunden das sind 4 Stunden. Das hat den Grund das der Server alle 4 Stunden neustarten sollte. Das funktioniert alles soweit die KillServer exe schließt sich nach dem Countdown und die andere Batch Merkt dann oh Server läuft nicht und startet dann den Server und die KillServer Batch wieder von neu.

Ich hoffe das war soweit verständlich mein Problem ist jetzt sollte der Server also die Server.exe abstürzen Läuft ja die KillServer Batch und der Servermonitor weiter. Der Servermonitor merkt dann der Server läuft nicht und startet von neu und somit auch die KillServer Batch. Problem ist dann das dann 2 Kill Server batches Laufen mit 2 verschiedenen Countdowns.

Mein Lösung versuch ist bevor der Servermonitor die Server.exe startet soll er einen Taskkill KillServer ausführen das will aber irgendwie nicht daher das es ja eine cmd Console ist und dann in der Tasklist unter Windows Befehlsprozessor steht krieg ich die nicht gekillt. Ich bin ein absoluter Anfänger in dem Thema und hoffe mir kann jemand den Command geben um nur die KillServer batch zu killen und nicht alle CMD Prozesse sonst würde ja die Servermonitor Batch auch zugehen und der Server würde nicht mehr von alleine starten. der taskkill befehl darf wirklich nur die SeverKill Batch killen.

Mein versuch war bis jetzt immer:

Code:
@echo off
::Server start:
title Servermonitor.bat
:start
C:\Windows\System32\tasklist /FI "IMAGENAME eq arma3server_x64.exe" 2>NUL | C:\Windows\System32\find /I /N "arma3server_x64.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
echo Server not running. arma3server_x64 started now
taskill /f /im KillServer.bat

So sieht es im Taskmanger aus

test.PNG


Hoffe konnte mich verständlich ausdrücken & ich hoffe jemand kann mir helfen.
 
Zuletzt bearbeitet:
Warum nutzt du nicht die Aufgabenplanung? Dafür ist sie da. Weiterhin solltest du die Anwendung gleich in einen Dienst packen. Ich nutz dafür gern FireDaemon, was sich auch um Abstürze, Neustarts und ggf. Benachrichtigung kümmert, aber sowas geht bestimmt auch mit srvany. Findest du im Windows Resource Kit.
 
Ich weiß nicht ob das mit der Aufgabenplanung möglich ist, hab damit noch nie "gearbeitet" daher das in der Batch gewisse Startparameter für Mods und Scripts dabei sind würde ich doch wieder eine Batch brauchen die das Dann ausführt ? die Aufgabenplanung wäre ja dann in dem Sinne nur dafür da für Neustarts oder. Aber mal weg von dem es müsste doch einen Command geben wo ich genau den "Befehlsprozessor" KillServer.bat killen kann oder nicht ? evtl mit einer gewissen ID oder so wie gesagt bin in dem Thema absolut nicht fit und hab schon ne Woche gebraucht ob das Restart System zum laufen zu kriegen andere schreiben das unter 5min :x
 
Zurück
Oben