最完整的用法
c := make(chan os.Signal)
主要程序写在这里
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
//目前这是阻塞主进程最好用的一种方式
select {
case <-c:
fmt.Println("程序退出 ")
os.Exit(0)
}
第二种用法
c := make(chan os.Signal)
controller.CheckSgDomain()
//controller.CheckHour("yhznjt.com", "")
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
go func() {
<-c
fmt.Println("程序退出 ")
os.Exit(0)
}()
fmt.Println("执行完成")
未经允许不得转载:微信 美文-微信文章库-我的知识库 » golang 在使用go routinue的时候怎么才能不让主程序退出