本文整理匯總了Golang中github.com/kardianos/service.Service.Stop方法的典型用法代碼示例。如果您正苦於以下問題:Golang Service.Stop方法的具體用法?Golang Service.Stop怎麽用?Golang Service.Stop使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/kardianos/service.Service
的用法示例。
在下文中一共展示了Service.Stop方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: runHttp
func (p *program) runHttp(s service.Service) {
var cmds []string = []string{"shut", "reboot"}
for index, command := range cmds {
http.HandleFunc(fmt.Sprintf("/%s", command), handleFunc(index, command))
}
logger.Info("http server start ...")
err := http.ListenAndServe(":7070", nil)
if err != nil {
logger.Error(err)
s.Stop()
return
}
}
示例2: runUDP
func (p *program) runUDP(s service.Service) {
localAddr := getLocalAddr()
if localAddr == nil {
s.Stop()
return
}
socket, err := net.ListenUDP("udp4", &net.UDPAddr{
IP: net.IPv4(0, 0, 0, 0),
Port: 6060,
})
if err != nil {
logger.Error(err)
s.Stop()
return
}
logger.Info("udp server has start ...")
defer socket.Close()
out := make([]byte, 1024)
for {
select {
case <-exit:
return
default:
_, addr, err := socket.ReadFromUDP(out)
if err != nil {
logger.Error(err)
continue
}
//logger.Infof("receive [%v] data : %s \n", addr.IP, string(out))
hostname, err := os.Hostname()
if err != nil {
logger.Error(err)
hostname = "unknown"
}
resp := map[string]string{
"ip": localAddr["IP"],
"hostname": hostname,
}
r, err := json.Marshal(resp)
if err != nil {
logger.Error(err)
continue
}
socket.WriteToUDP(r, &net.UDPAddr{
IP: addr.IP,
Port: 6060,
})
}
}
}