使用ServiceController类来查找被攻击或挂起的服务

时间:2016-10-24 12:17:13

标签: c# asp.net windows-services servicecontroller

我正在使用ServiceController来获取服务列表及其状态。

以下是示例代码:

var scServices = ServiceController.GetServices(machineIPOrName).ToList();
var scservice = scServices.FirstOrDefault(i => i.ServiceName.ToUpper().Equals(serviceName.ToUpper()));

目前,如果服务正在运行,已停止,StartPending,StopPending,Paused等,它将返回。 但有时即使服务正在运行。它将处于挂起/打击状态,它将无法正常工作。如何确定服务是否已达到或处于饥饿状态?

1 个答案:

答案 0 :(得分:0)

如果您不知道服务应该做什么,则无法检查服务是否实际正在执行此操作。 如果您自己实现了服务,那么您可以实现某种接口来检查它是否实际运行,而不是处于某种暂停/无限循环状态。