Windows服务“正在启动”

时间:2012-02-14 18:22:25

标签: service windows-services

我的Web应用程序需要一个关键的Windows服务。

不幸的是,Windows服务无法正常启动,但仍处于“正在启动”状态约7分38秒,然后失败。

当服务处于“正在启动”模式时,我的网络应用程序正常工作。

我有一个Windows计划任务,每分钟运行一次,以便在必要时重启服务。

net start "my service"

因此,从服务失败到再次启动之间存在大约22秒的间隔。另外,我的应用程序(依赖于此服务)需要额外的30秒左右才能开始工作。

我故意没有为错误的服务命名。我确实打开了一个单独的问题https://stackoverflow.com/questions/8470975/oracle-oc4j-service-keeps-stopping,其目的是实际解决问题。

在这个问题中,我并没有尝试解决问题,而是找到一种解决方法,尝试将此服务保持在“开始”状态。

令人愤怒的是,在我今天重新启动服务器之前,我每3分钟重新启动服务的解决方法确实有效,没有任何应用程序停机时间。

有人有什么建议吗?我确实尝试将ServicesPipeTimeout的注册表项更改为86400000(24小时!),以使服务处于“正在启动”状态更长时间。

3 个答案:

答案 0 :(得分:5)

我找到了解决问题的可能方法,我对此感到非常不安......

我从http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279

下载了WinDbg

我打开了WinDbg并执行了Attach to Process,并选择了我的服务。

只要WinDbg处于打开状态,它就会“保持”该过程并阻止其停止。

它将继续这样做多久,还有待观察,但现在已经持续了半个多小时(而在8分钟后服务停止之前)

答案 1 :(得分:3)

如果您将超时设置为24小时且服务未启动或处于“启动”模式,则它必须是崩溃或自行关闭。

如果您想立即尝试重新启动服务,则会崩溃,然后在服务的属性中选择“恢复”标签。您应该能够将服务设置为在第一次,第二次和后续故障时重新启动,并将服务设置为在0分钟后重新启动,

请注意,如果Windows认为该服务正在正常关闭,这将无效。

不言而喻,只有当你无法找到解决这些问题的服务时,这是最后的手段。

答案 2 :(得分:1)

尝试为“恢复”选项卡上的所有三个部分指定“重新启动服务”,但这仅在服务异常结束时才有效。

我们公司遇到了类似的问题,我们开发了Service Protector,这是一个商业应用程序,可以保持服务并使其全天候运行。它也可能适用于您的情况。