怎样判断Window Service服务是否处于未响应状态?
windows定时服务是大多数公司很常用的服务。但是服务大多都不太稳定,在负载量比较大时,容易出现假死状态。
目前有一个想法就是用另外一个服务去监测这个服务,如果这个服务处于未响应状态了,自动将这个服务重启就是。
但怎样检测一个服务是否为未响应状态呢?这是一个问题。
[解决办法]
你调用它,在规定的时间内没有回答你,你就“视作”它没有响应。
[解决办法]
用ServiceController操作Windows服务
ServiceController sc= new ServiceController();
sc.MachineName = ".";
sc.ServiceName = "qiegao";
if (sc.Status == ServiceControllerStatus.Stopped)
{
sc.Start();
}