微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

windows-services – 自动服务无法启动

我安装了一些控制台应用程序作为在topshelf下运行的服务,如果我安装并手动运行它们工作正常.但是,即使启动类型设置为“自动”,也不会自动启动.

应用程序配置如下:

HostFactory.Run(x =>
{
    x.Service<MyApp>(s =>
    {
        s.ConstructUsing(name => container.Resolve<MyApp>());
        s.WhenStarted(tc => tc.Start());
        s.WhenStopped(tc =>
        {
            tc.Stop();
            container.dispose();
        });
    });

    x.RunAsLocalSystem();
    x.StartAutomatically();
    x.EnableServiceRecovery(rc => rc.RestartService(5));
});

这些应用程序在Win 2008 R2下运行,并使用以Admin身份执行的批处理文件进行安装.批处理文件包括以下内容

app.exe install --sudo
app.exe start

执行批处理文件后,服​​务按预期运行.但是,如果我重新启动它们仍然停止

事件日志为每个服务返回相同的事件对:

Event 7000: The service Failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.

Event 7009: A timeout was reached (30000 milliseconds) while waiting for the service to connect.

重启后启动应用程序的唯一方法是从提升的命令提示符启动app.exe启动.

有任何想法吗?

解决方法

好的,我已经修好了.服务启动类型设置为自动,但我已将它们更改为自动(延迟),所有现在都在启动时正常运行.

我也修改了安装批处理文件以备将来使用:

app.exe install --delayed --sudo
app.exe start

只是猜测,但可能依赖于可能无法使用的网络服务.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐