我正在试图弄清楚如果SCM向服务发送停止请求但服务没有在特定时间间隔内停止会发生什么。我已经看到在博客和论坛中将引用传递给30秒超时(没有任何MSDN引用备份)以及名为[HKLM \ System \ CurrentControlSet \ Control] ServicesPipeTimeout和[HKLM \ System \ CurrentControlSet \ Control]的注册表项WaitToKillServiceTimeout的
在我的Windows 7开发笔记本电脑上,这两个注册表项都不存在。当我尝试从控制面板停止服务时会发生什么情况,在2分钟后,控制面板显示服务没有响应,但它保持运行并且永远不会终止进程。
是否有描述预期行为的文档?特别是在我的服务中,如果他们没有在合理的时间内完成,我是否应该使用自己的计时器来杀死任何错误的线程?
我正在使用.Net ServiceBase类进行实现