Faire en sorte qu'un programme .exe redemarre après un crash

maxime77240 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai crée un serveur Starbound, mais il peut arriver que celui-ci crash de temps en temps. C'est pourquoi je souhaiterai créer un fichier .bat qui permettrai de le relancer en cas de crash.

J'ai essayer un peu de regarder les fichiers .bat permettant de redémarrer les serveurs WoW et Minecraft (même principe), mais ceux-ci n'ont pas fonctionné, le serveur ne redémarre pas après sa fermeture.

Le fichier est un .exe

Merci.
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
au plus simple, je dirais une boucle, si l'exe s'arrête, la boucle continue et le redémarre, pour autant qu'au démarrage il ne se mette pas en arrière plan
for /L %%a in (1,1,100) do  startbound.exe
0
maxime77240 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

Merci pour la réponse!

J'ai réussi à récupérer ce code sur internet, à la base crée pour Arma. J'ai tout simplement modifié le chemin d'accès du .exe

Y a-t-il des choses à modifier, à ajouter ou à retirer (inutiles)?

Si le programme se met en mode "Ne répond pas", va-t-il se fermer sans mon intervention (cliquer sur "Fermer programme) et donc pouvoir se redémarrer tout seul?

Merci

@echo off
:start
C:\Windows\System32\tasklist /FI "IMAGENAME eq starbound_server.exe" 2>NUL | C:\Windows\System32\find /I /N "starbound_server.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
echo Server monitored is not running, will be started now
start "" /wait "D:\Steam\SteamApps\common\Starbound\win32\starbound_server.exe"
echo Server started succesfully
goto started
:loop
cls
echo Server is already running, running monitoring loop
:started
C:\Windows\System32\timeout /t 3
C:\Windows\System32\tasklist /FI "IMAGENAME eq starbound_server.exe" 2>NUL | C:\Windows\System32\find /I /N "starbound_server.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
goto start
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
le mieux c'est de le tester
0