Нужен bat ник перезапуска зависшей службы.

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Нужен bat ник перезапуска зависшей службы.
Нужен bat ник перезапуска зависшей службы.
Постоянно виснит служба уже устал бороться, нужен батник который будет определять что служба уже застопилась и стартовать ее заново.
Через консоль можно перезапустить службу:
Net start ИМЯ_СЛУЖБЫ
Net stop ИМЯ_СЛУЖБЫ

Исходя из этого предлагаю скрипт решение:
Код
@Echo Off
Set ServiceName=ИМЯ_СЛУЖБЫ

:: Получаем состояние службы, проверяем запущена ли она
SC queryex %ServiceName%|Find "STATE"|Find "RUNNING">Nul&&(
    rem Пробуем остановить
    Net stop %ServiceName%>nul||(
        rem Если остановить через net stop не вышло, запрашиваем PID
        For /F "tokens=3" %%A In ('SC queryex %ServiceName%^|Find "PID"') Do (
            rem Убиваем процесс вместе с дочерними, используя полученный PID
            TaskKill /F /T /PID %%A>nul
            rem Задержка, чтобы обновился статус службы после убийства процесса
            Ping -n 4 127.0.0.1>nul
        )
        rem На всякий случай
        Net stop %ServiceName% 2>nul
    )
)
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
Pause


Ping -n 4 127.0.0.1 - используется для задержки.

Если у вас задача рестартить службу каждый час не зависимо от ее статуса то делайте так, т.к не всегда можно определить зависла служба или нет:

Код
@Echo Off
Set ServiceName=имя_службы
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Здравствуйте, надеюсь на вашу помощь с созданием bat файла по остановке или запуску 2 служб. Мне нужно что бы батник проверял статус служб и если они остановлены то запускал, а если запущены то останавливал. Заранее спасибо.
а как его запустить на исполнение на удалённом ПК
Просто щелкнуть по нему мышкой )
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
я имел введу CMD->Enter
bat-файл имя_удаленного_ПК имя_службы????

извените за моё не вежество, я начинающий
psexec  
качать тут: http://technet.microsoft.com/ru-ru/sysinternals/bb897553.aspx
Пример: Psexec \\compname  -u name –p password /c  c:\bat.bat
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)