Redemarrer un service

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Th.A.C
Le #1251205
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.

Publicité
Poster une réponse
Anonyme