Faire en sorte qu'un programme .exe redemarre après un crash [Fermé]

Signaler
Messages postés
16
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2016
-
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
-
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.

3 réponses

Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 328
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
Messages postés
16
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2016
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
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 328
le mieux c'est de le tester