2

我试图弄清楚如果 SCM 向服务发送停止请求但服务没有在特定时间间隔内停止会发生什么。我已经看到在博客和论坛中将引用传递给 30 秒超时(没有任何 MSDN 引用支持)以及名为 [HKLM\System\CurrentControlSet\Control]ServicesPipeTimeout 和 [HKLM\System\CurrentControlSet\Control] 的注册表项WaitToKill 服务超时

在我的 Windows 7 开发笔记本电脑上,这些注册表项都不存在。当我尝试从控制面板停止服务时会发生什么,2 分钟后,控制面板说该服务没有响应,但它让它继续运行并且永远不会终止该进程。

是否有任何文档来描述预期的行为?特别是在我的服务中,如果它们没有在合理的时间内完成,我是否应该放入自己的计时器来杀死任何错误的线程?

我正在使用 .Net ServiceBase 类来实现

4

0 回答 0