如何获得Windows服务的当前失败计数

问题描述 投票:6回答:2

我有一项服务,当某些资源不可用时会失败。我已将其配置为尝试重新启动两次,然后在第三次尝试时向我发送一条SMS。不幸的是,windows只允许您选择在一定数量的[[days之后重设失败计数的方法,而我真的希望在每三个失败时重设失败计数。问题在于,一旦服务再次运行,one更多故障将导致它发送另一个SMS,甚至不尝试重新启动服务。

所以我想在我的SMS脚本中包含一些代码以重置故障计数器。我发现以下注册表位置:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

其中包含失败操作的其他设置(二进制),但据我所知,没有计数器。

sc命令可让您查询各种内容,但也不会返回失败计数。

理想情况下,我想要一种以编程方式查询/重置故障计数器的方法,但是命令行或注册表解决方案就可以了(因为我可以编写脚本了。)>

我有一项服务,当某些资源不可用时会失败。我已将其配置为尝试重新启动两次,然后在第三次尝试时向我发送一条SMS。不幸的是,Windows只给您...

windows-services reset counter
2个回答
1
投票
Win32 API允许您指定在X秒(而不是X天)后重置失败计数。查看SERVICE_FAILURE_ACTIONS结构的dwResetPeriod成员。

0
投票
我是一个名为Daemoniq的开源Windows服务托管框架的开发人员。 Setting service recovery options是其功能之一。您可以从http://daemoniq.org
© www.soinside.com 2019 - 2024. All rights reserved.