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

本文关键字:挂起 服务 查找 ServiceController 使用 | 更新日期: 2023-09-27 18:14:42

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

下面是示例代码:
var scServices = ServiceController.GetServices(machineIPOrName).ToList();
var scservice = scServices.FirstOrDefault(i => i.ServiceName.ToUpper().Equals(serviceName.ToUpper()));

当前返回如果服务是Running, Stopped, StartPending, StopPending, Paused等。但有时即使服务正在运行。它将处于挂起/被击中的状态,它将无法工作。如何识别服务是否被击中或处于挂起状态

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

如果你不知道服务应该做什么,就没有办法检查服务是否真的在做它的工作。如果您自己实现了服务,那么您可以实现某种接口来检查它是否实际运行,而不是处于某种停止/无限循环状态。