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

Fermé
maxime77240 Messages postés 16 Date d'inscription dimanche 23 novembre 2014 Statut Membre Dernière intervention 6 juin 2016 - 30 janv. 2015 à 02:01
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 31 janv. 2015 à 08:12
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
30 janv. 2015 à 13:41
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 dimanche 23 novembre 2014 Statut Membre Dernière intervention 6 juin 2016 1
30 janv. 2015 à 20:38
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 janv. 2015 à 08:12
le mieux c'est de le tester
0