Windows关闭时是否存在停止Windows服务的超时?我知道有一个注册表项“WaitToKillServiceTimeout”,但是当Windows关闭或是否有另一个超时时,会对服务产生这种超时影响吗?
我想知道,在调用服务的OnStop方法时,系统在关机期间等待服务的时间有多长。
服务是否可以阻止Windows关闭?
答案 0 :(得分:2)
来自TechNet:
[WaitToKillServiceTimeout]确定在通知服务系统正在关闭之后系统等待服务停止的时间。
然后是的,该值用于等待服务关闭,但也注意到它为所有服务共享:
如果所有服务在此值到期之前停止,系统将关闭...
对于您的问题"服务可以阻止Windows关闭吗?" 答案是"或多或少"。您无法阻止Windows关闭(如果用户因为服务决定他们不应该关闭而对用户进行关闭可能会非常烦人,但是:
当此条目的值到期时,系统会通知用户该服务尚未停止。用户可以强制服务任务停止或继续等待。如果用户等待,则此值指定服务未停止的重复用户通知之间的间隔。
请注意:
某些服务会增加此条目的值,以便为清理任务提供更多时间。
如果您的服务停止很慢,您可以增加此值(在安装期间)以给您更多时间。从理论上讲,使用非常高的价值,你会在很长一段时间内推迟关机(但这种行为与取消并且不会&#39相同忘记它为所有服务共享了。)
AFAIK服务无法取消关闭,但GUI应用程序可以使用ShutdownBlockReasonCreate()功能执行此操作。