go get github.com/judwhite/go-svc/svc
package main import ( "github.com/judwhite/go-svc/svc" "log" "os" "syscall" "time" ) type pro struct { } func main() { pro :=&pro{} svc.Run(pro,syscall.SIGINT) } func (p *pro)Init( e svc.Environment) error{ port := os.Getpid() log.Printf("程序已经初始化 端口为%d \n",port) return nil } func (p *pro)Start() error{ log.Printf("程序已经start\n") go func() { tik := time.NewTicker(3*time.Second) for { c := <-tik.C log.Printf("当前时间为:%s \n",c.Format("2006-01-02 15:04:05")) } }() return nil } func (p *pro)Stop() error{ log.Printf("程序已经stop\n") return nil }输出