我想写一个管理另一个窗口服务的窗口服务,并检查它是否已停止或正在运行。
如果它已停止,那么我的root服务将再次启动服务。
我的root服务正在运行一段时间。
答案 0 :(得分:1)
查看ServiceController课程:
表示Windows服务,允许您连接到正在运行的或 停止服务,操纵它或获取有关它的信息。
示例:强>
要启动服务,您可以使用以下代码:
ServiceController service = new ServiceController("YourServiceName");
service.Start()
该类具有Status属性,您可以使用该属性检查要监视的服务是否正在运行或停止。
<强>替代:强>
您还可以使用命令行工具来检查/启动/停止服务。
检查服务是否正在运行:
sc query YourServiceName
启动服务:
net start YourServiceName
停止服务:
net stop YourServiceName
答案 1 :(得分:1)
您可以使用ServiceController类控制其他服务。
答案 2 :(得分:0)
创建一个监控服务的Windows服务。您服务中的代码将是
var Service = new ServiceController(servicetowach);
if (Service.Status != ServiceControllerStatus.Running
&& Service.Status != ServiceControllerStatus.StartPending)
{
Service.Start();
}
ServiceToWatch是否是您要观看的服务名称