检查服务是否正在使用Win32_Service运行

时间:2009-11-16 10:51:57

标签: c# windows-services

我有一个关于Win32_Service的快速问题

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

如果服务没有运行,那么很容易监控?我希望if语句在服务未运行的所有情况下都返回true,因此它可以发送警告消息。

1 个答案:

答案 0 :(得分:0)

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,我不会显示警告。至少,根据状态显示不同的警告。

HTH。