Проверьте, запущен ли сервис с Win32_Service - PullRequest
0 голосов
/ 16 ноября 2009

У меня очень быстрый вопрос о Win32_Service

Есть

String sState = service["State"].ToString();
if (! sState.Equals("Running"))

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

1 Ответ

0 голосов
/ 16 ноября 2009

Состояния службы Windows:

  • SERVICE_STOPPED. Сервис не работает.
  • SERVICE_START_PENDING. Служба запускается (но можно предположить, что она не запущена. Надеюсь, служба скоро запустится)
  • SERVICE_STOP_PENDING. Сервис останавливается. (но вы можете предположить, что он все еще работает, за исключением того, что, возможно, единственное, что делает служба, - это завершает ее упорядоченным образом, игнорируя любой внешний запрос)
  • SERVICE_RUNNING. Сервис запущен (и готов к выполнению внешних запросов)
  • SERVICE_CONTINUE_PENDING. Похоже на START_PENDING. Надеюсь, сервис скоро запустится.
  • SERVICE_PAUSE_PENDING. Служба будет приостановлена ​​в ближайшее время.
  • SERVICE_PAUSED. Услуга приостановлена ​​

Единственное состояние, которое гарантирует, что служба работает, это SERVICE_RUNNING, но я бы не отображал предупреждение, если служба находится в состоянии START_PENDING. По крайней мере, показывать разные предупреждения в зависимости от состояния.

НТН.

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