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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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.
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.