首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务未在Windows中启动

服务未在Windows中启动
EN

Stack Overflow用户
提问于 2017-08-16 12:33:15
回答 1查看 1.6K关注 0票数 1

我已经在Go中创建了一个可执行文件,并将其作为一个windows服务运行。

我正在使用golang.org/x/sys/windows/svc包,并为它提供由SCM调用的Execute方法。

代码语言:javascript
复制
run := svc.Run
_ = run(svcName, &myservice{})

func (m *myservice) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (ssec bool, errno uint32) {

    changes <- svc.Status{State: svc.StartPending}

    go mainmethod()

    changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted}


}

该服务大部分时间都能工作,但问题是每当我重新启动系统时,服务都会给出一个错误1053:“服务没有及时响应启动或控制请求”错误,并且没有启动,

在我的run和Execute方法中添加了日志语句之后,我发现当服务开始时没有出错,日志就会被打印出来,但是当服务产生1053个错误时,SCM甚至不会调用my,因为没有一个日志语句被打印出来。是否有人尝试过以类似的方式创建windows服务?这是实现问题还是windows svc包的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-23 10:59:39

我在Program中部署了GO exe,我将Windows服务的LogOnAs属性更改为"Local“,并给予"Local”对“文件夹安全”中的安装文件夹的完全访问权限。

这似乎解决了windows10的问题。服务在windows重新启动时启动,但此修复仍然不适用于windows 7和windows8。

编辑:

使服务“自动延迟”工作,然而,您必须等待服务启动后,这需要2-3分钟。

这里提到的答案很有帮助:https://serverfault.com/questions/697608/automatic-windows-service-not-starting/697852#697852?newreg=788f7ab0bb084fec85d1ce2e51bf8317

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45713666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档