Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Redemarrer un service

1 réponse
Avatar
RS
Bonjour,

les commandes "sc stop" et "sc start" permettent de redémarrer un service.

Le probleme, c'est que "sc stop" n'attend pas que le service soit
completement stopé, et du coup, il "rend la main" tout de suite.
Meme avec le commutateur start /wait sc stop "service", c'est pareil.

Comment faire pour que sc attende l'arret complet du service et rendre la
main uniquement si le service est bien stoppé correctement ?

1 réponse

Avatar
Th.A.C
Bonjour,

les commandes "sc stop" et "sc start" permettent de redémarrer un service.

Le probleme, c'est que "sc stop" n'attend pas que le service soit
completement stopé, et du coup, il "rend la main" tout de suite.
Meme avec le commutateur start /wait sc stop "service", c'est pareil.

Comment faire pour que sc attende l'arret complet du service et rendre la
main uniquement si le service est bien stoppé correctement ?


tu peux faire une petite boucle qui attend que le service n'apparaisse
plus dans la liste affichée par la commande 'net start'.

voila un batch que j'utilise pour arrêter le spooler, adapte le à tes
besoins:

-----------------------------
echo + Arret du spouleur...
net stop spooler >NUL
echo - Attente de l'arret du spouleur...
:boucle
ping -n 2 localhost>NUL
net start | find /I "spouleur" >NUL
if %errorlevel%==0 goto boucle
echo - Le spouleur est bien arrete.
echo.
-----------------------------

on doit aussi pouvoir utiliser la commande sc avec l'option 'query' ou
'interrogate' qui permet de voir l'état du service et vérifier que le
mot 'running' n'apparait plus.

la commande 'ping -n 2 localhost>NUL' permet de faire une pause de 1
seconde.