Автоматически перезапустите службу Windows, если она не работает

У меня есть сервис окон, работающий на сервере Windows 2003. Под опцией свойств при щелчке правой кнопкой по сервису существует опция перезапустить сервис, если это перестало работать. Доступные опции для первого, второго и любых последующих отказов.

Я пытался использовать эту опцию перезапустить сервис, если не работающий, но похоже, что это только перезапускает сервис, если сервис перестал работать в результате отказа. Проблема, которую я имею, состоит в том, что, если существует отказ, сервис берет это и закрывает сервис 'корректно'. Это означает, что не перезапускается.

Существует ли способ, которым я могу перезапустить сервис независимо от того, остановился ли он из-за отказа или если он остановился корректно?

Спасибо

9
задан 01.02.2011, 11:06

2 ответа

Для сервиса неправильного поведения как этот я создал бы маленький сценарий, который проверяет, выполняет ли он и запускает его, если это не. Затем я использовал бы запланированные задачи для запущения скрипта каждые 5 минут или около этого.

Сценарий в качестве примера (проверяет на сервис спулера):

@echo off
Rem Look for the Print Spooler service in the list of started services
net start | find /i "Print Spooler"
Rem if not found, start it and a restart occurred.
if "%errorlevel%"=="1" (
   echo Service "Print Spooler" restarted at %time% on %date% by Script %0>>c:\ServiceRestart.Log
   net start "Print Spooler"
)
10
ответ дан 07.12.2019, 13:24

Какой сервис - это? У меня была странная проблема с Услугой передачи факсов MS однажды. Я разрешил его путем проверки процессов под Диспетчером задач, окончания процесса, если это перечислено, затем открытие Command Prompt и ввод:

net start faxsvc.exe

Можно использовать net stop faxsvc.exe завершать сервис также.

Другая вещь состоит в том, чтобы проверить на зависимости и перезапустить их также, т.е. тех, от которых зависит услуга передачи факсов.

Править: Я предположил, что это могло бы помочь, но я не считал Ваш вопрос очень хорошо. Я знаю, что существует программа под названием Сервисный доступный Ястреб, но это стоит денег. Другая идея состояла бы в том, чтобы соответствовать пакетному файлу, который будет перезапускать сервис каждый xx секунды/минуты/часы/однако долго, продолжительность между сервисным выполнением и сбоем.

1
ответ дан 07.12.2019, 13:24

Теги

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