~~~
我想请问下 我注册win系统服务后,当直接运行软件, run()代码可以执行没问题
但是在服务里点启动 这些代码run()全失效了, 貌似 我看Start用了 go run() 貌似是这个问题好像
估计需要什么暂停等待之类的, 希望好心人帮看看 方便的话解答下!谢谢
type Program struct{}
func (p *Program) Start(s service.Service) error {
log.Println("Start Service")
go p.run()
return nil
}
func (p *Program) Stop(s service.Service) error {
log.Println("Stop Service")
go p.Stop(s)
return nil
}
func (p *Program) run() {
for {
//检测代码:
h,err := http.get("url")
time.Sleep(3 * time.Second)
}
}
func main() {
prog := &Program{}
s, err := service.New(prog, serviceConfig)
if err != nil {
log.Println("new service error" + fmt.Sprint(err))
prog.Stop(s)
return
}
//运行服务run脚本循环代码
if len(os.Args) < 2 {
s.Run()
}
cmd := os.Args[1]
if cmd == "install" {
err := s.Install()
if err != nil {
log.Println("install error:" + fmt.Sprint(err))
return
}
fmt.Println("install Success")
return
}
}
~~~
有疑问加站长微信联系(非本文作者)