如何知道服务启动后是否仍然是运行
How to know if a service is still running after starting it
我想确定我启动的服务是否真的启动了,而不是处于启动状态...
我如何知道服务启动后是否仍然是运行?也许得到它开始的事件或类似的东西......
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
sc.start();
尝试,
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
switch (sc.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
或者您可以查看,
ServiceController[] services = ServiceController.GetServices();
foreach(ServiceController service in services)
{
Console.WriteLine(service.ServiceName+"=="+ service.Status);
}
我想确定我启动的服务是否真的启动了,而不是处于启动状态... 我如何知道服务启动后是否仍然是运行?也许得到它开始的事件或类似的东西......
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
sc.start();
尝试,
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
switch (sc.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
或者您可以查看,
ServiceController[] services = ServiceController.GetServices();
foreach(ServiceController service in services)
{
Console.WriteLine(service.ServiceName+"=="+ service.Status);
}