func handleSignal(app tunnel.Service) { c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGHUP) for sig := range c { switch sig { case syscall.SIGHUP: app.Status() tunnel.Log("total goroutines:%d", runtime.NumGoroutine()) default: tunnel.Log("catch signal:%v, exit", sig) os.Exit(1) } } }