@PoliceMemos

Как прописать скрипт, чтобы он ждал остановки службы?

Имеется сервер, на котором иногда зависает служба, но с её перезапуском приходится перезапускать целый ряд служб в определённой последовательности. Я решил написал скриптик .bat такого вида:
Net stop "CSTA Mux"
Net stop "TapiSrv"
Net stop "ProstieZvonkiPanasonicService"
Net stop "TAPIZWE"
Net start "CSTA Mux"
Net start "TapiSrv"
Net start "ProstieZvonkiPanasonicService"
Net start "TAPIZWE"


Но проблема в том, что отрабатывание скрипта не ждёт пока служба остановится или запустится, а выполняет след. строку из-за чего ProstieZvonkiPanasonicService не успевает остановится и уже получает команду на Запуск. В итоге работает это не корректно.

Как можно прописать скрипт, чтобы след. действие выполнялось только при удачном завершении предыдущего?

Варианты с временем и вставками паузы на 10 сек не помогут, так как иногда "ProstieZvonkiPanasonicService" останавливается за 10 сек, а иногда за 120 сек.
  • Вопрос задан
  • 327 просмотров
Решения вопроса 2
sarapinit
@sarapinit
Точу водой камень
Использовать командлеты powershell. Они ждут.

The PowerShell cmdlets Stop-Service and Start-Service will wait until the services are fully stopped and started respectively.


https://superuser.com/questions/396906/is-there-a-...
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
добавьте задержки по вкусу

ping 127.0.0.1 -n 5 >nul
и проверяйте статусы возвращаемые net stop
либо ждите завершения
START /wait net stop "CSTA Mux"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы