【问题标题】:Repeated Stopping and Starting Windows Service反复停止和启动 Windows 服务
【发布时间】:2016-01-14 19:02:54
【问题描述】:

我编写了一个 PowerShell 脚本来远程停止和启动 Windows 服务。 问题是,第一次停止/启动后,其中一个 Windows 服务需要很长时间才能停止。当我第一次停止并启动服务时,它运行良好,但如果我在服务再次运行时尝试停止服务,则需要 3 分钟才能停止。服务从停止/启动中恢复需要时间吗?

谢谢

【问题讨论】:

  • 这完全取决于具体的服务。如果您告诉我们是哪一个,我们或许可以提出原因。

标签: windows service


【解决方案1】:

否 - 服务会自行停止。尽管它们有多长时间是有限制的。你被允许有一定的时间。如果我编写一个在关闭时什么都不做的服务,它将立即关闭。但是,当您处理不是您编写的其他服务时,它们很可能需要清理、等待挂起的连接完成等原因,这就是我认为您遇到的问题。


发件人:what is the maximum time windows service wait to process stop request and how to request for additional time

尽管许多人提到了 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout 注册表项,但根据 Microsoft 的这篇“服务控制处理程序”文章,该注册表项仅控制服务可以关闭的最长时间当 Windows 本身被关闭或重新启动时关闭:

<...> 为了防止服务停止关闭,服务控制器的等待时间是有限制的。如果通过服务管理单元关闭服务,则限制为 125 秒。如果操作系统正在重新启动,则在 WaitToKillServiceTimeout 值中指定时间限制 <...> 如果计算机未重新启动/关闭,则 Windows 等待服务关闭的默认时间为 30 秒。但是,应用程序可以请求额外的时间,总共最多允许 125 秒。

【讨论】:

    最近更新 更多