主要是为了保证在发生异常/正常退出关闭时程序能够进行相应的资源回收与保护,以此保证程序逻辑的可靠性
exit := make(chan os.Signal)
signal.Notify(exit, syscall.SIGINT, syscall.SIGTERM)
wg.Add(1)
go func() {
defer wg.Done()
<-exit
server.Stop()
}()
特殊的针对系统保留信号,可实现程序配置重载或其他业务处理,例如SIGUSR1, SIGUSR2