windows定时服务是大多数公司很常用的服务。但是服务大多都不太稳定,在负载量比较大时,容易出现假死状态。
目前有一个想法就是用另外一个服务去监测这个服务,如果这个服务处于未响应状态了,自动将这个服务重启就是。
但怎样检测一个服务是否为未响应状态呢?这是一个问题。
------解决方案--------------------
你调用它,在规定的时间内没有回答你,你就“视作”它没有响应。
------解决方案--------------------
用ServiceController操作Windows服务
ServiceController sc= new ServiceController();
sc.MachineName = ".";
sc.ServiceName = "qiegao";
if (sc.Status == ServiceControllerStatus.Stopped)
{
sc.Start();
}
------解决方案--------------------
在规定相应的时间内没有反应就视作没有响应
------解决方案--------------------
这个就是一个简单的“测试”嘛。
测试程序随便写,但是你要有亲自动手写测试的概念就行了。
你可以一天测试它一千次,一万次,可以随时想起来就用测试程序跑一会儿。
管理,并不需要假装很忙,只需要满满地自己写一些自动化测试程序就行了。