我在GO中創建了一個可執行文件,並將其作爲Windows服務運行。Windows服務未啓動GO Lang exe文件
我使用golang.org/x/sys/windows/svc包,它提供的執行方法,得到由SCM
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:「該服務沒有及時響應啓動或控制請求」錯誤,並且不會啓動,
在我的運行中添加日誌語句和Execute方法,我發現當服務啓動時沒有錯誤日誌被打印,但是當服務發出1053錯誤時,SCM會執行n甚至不會調用我的exe,因爲沒有任何日誌語句被打印。 有沒有人試圖以類似的方式創建一個Windows服務?這是實施還是Windows svc軟件包的問題?
感謝
您的執行函數是否有一個空的正文?如果是這樣,您需要通過'changes'通道向系統發送狀態更新。使用[svc服務示例](https://github.com/golang/sys/tree/master/windows/svc/example)作爲服務的基礎。 –
不,它發送數據到SCM,我的壞,我會添加代碼 – Pharaoh
你可以顯示'main.go'文件,以及如何建立它? – pltvs