kardianos包的问题疑问求助

hellsam · · 122 次点击 · 开始浏览    置顶
~~~ 我想请问下 我注册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 } } ~~~

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

122 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传