如何检测到某人已停止Windows服务?

时间:2014-07-17 14:04:11

标签: c# windows service servicecontroller

我有一个奇怪的案子需要处理...

  • 我有Windows服务" A "。
  • " A"监控" B "中的事件。 " B"是一个将重新启动的应用程序" A"如果" A"停止运行。
  • " A"如果用户手动关闭" A"则不应重新启动。从Windows中的“服务”应用程序,或使用 net stop 从命令提示符下载。基本上,每当非应用程序(即人类)停止它时,我都不希望它重新启动" A"。

以下是" B"的简单示例:

ServiceController controller = new ServiceController(someServiceName);
while (true)
{
    controller.WaitForStatus(ServiceControllerStatus.Running);
    controller.WaitForStatus(ServiceControllerStatus.Stopped);
    controller.Start();
}

由于用户将导致服务状态以与其他应用程序相同的方式调用停止,是否有任何方法可以检测实际停止该特定Windows服务的用户?有没有办法检测一个真实的人是否停止了该特定服务?

0 个答案:

没有答案