我想编写一个窗口服务来管理另一个窗口服务,并检查它是否停止或正在运行。我如何编写一个Windows服务来管理其他的Windows服务?(我能吗?)
如果它已停止,那么我的根服务将再次启动服务。
我的根服务正在某个时间运行。
我想编写一个窗口服务来管理另一个窗口服务,并检查它是否停止或正在运行。我如何编写一个Windows服务来管理其他的Windows服务?(我能吗?)
如果它已停止,那么我的根服务将再次启动服务。
我的根服务正在某个时间运行。
创建一个监视您的服务的Windows服务。在服务代码将
var Service = new ServiceController(servicetowach);
if (Service.Status != ServiceControllerStatus.Running
&& Service.Status != ServiceControllerStatus.StartPending)
{
Service.Start();
}
哪里ServiceToWatch是你想要观看的服务的名称,如果运行或不
看一看的ServiceController类:
表示一个Windows服务,并允许您连接到正在运行的或已停止的服务,对其进行操作或获取有关该服务的信息。
例子:
要启动服务,你可以使用这样的代码:
ServiceController service = new ServiceController("YourServiceName");
service.Start()
类有一个Status属性,你可以用它来检查您要监控的服务是否正在运行或停止。
备选:
您也可以使用命令行工具来检查/启动/停止服务。
要检查服务是否正在运行:
sc query YourServiceName
要启动服务:
net start YourServiceName
要停止服务:
net stop YourServiceName
此代码正在运行吗?感谢它似乎是真的 – 2012-07-16 06:50:17