我写了一个PowerShell脚本来远程停止和启动Windows服务。 问题是,在第一次停止/启动后,其中一个Windows服务需要很长时间才能停止。当我第一次停止并启动服务时,它运行良好,但如果我在服务再次运行时尝试停止服务,则需要3分钟才能停止。服务是否需要一段时间才能从停止/启动中恢复?
由于
答案 0 :(得分:0)
不 - 服务在他们自己的时间停止。虽然它们有多长时间但存在局限性。你被允许有一定的时间。如果我写的服务在关闭时什么也不做,它会立即关闭。但是当你处理你没有写的其他服务时,很可能是他们需要清理的原因,等待挂起的连接完成等等。这就是我认为你正在反对的。
虽然许多人提到了HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ WaitToKillServiceTimeout注册表项,但根据Microsoft的“服务控制处理程序”文章,注册表项仅控制服务可以关闭的最长时间当Windows本身关闭或重新启动时关闭:
< ...>为防止服务停止关闭,服务控制器等待的时间有限。如果通过“服务”管理单元关闭服务,则限制为125秒。如果操作系统正在重新启动,则在WaitToKillServiceTimeout值< ...>中指定时间限制。 如果未重新启动/关闭计算机,则Windows等待服务关闭的默认时间为30秒。但是,应用程序可以请求额外的时间,并且总共允许最多125秒。