package main import ( "os" "os/signal" "pro2d/actions" "pro2d/utils" "syscall" ) func main() { err := make(chan error) stopChan := make(chan os.Signal) signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL) server := actions.NewAccountServer() go func() { err <- server.Start() }() select { case e := <- err: utils.Sugar.Errorf("game server error: %v", e) case <-stopChan: // 平滑关闭服务 server.Stop() } }