Я последовал за beego.Run () и нашел, если err: = server.ListenAndServe (); err! = nil, программа будет спать 100us, я не знаю почему?
if err := server.ListenAndServe(); err != nil {
logs.Critical("ListenAndServe: ", err, fmt.Sprintf("%d", os.Getpid()))
time.Sleep(100 * time.Microsecond)
endRunning <- true
}