mirror of
https://github.com/fankes/komari-agent.git
synced 2025-12-11 07:53:38 +08:00
feat: 优化 goroutine 启动逻辑
This commit is contained in:
12
cmd/root.go
12
cmd/root.go
@@ -1,10 +1,13 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/komari-monitor/komari-agent/cmd/flags"
|
||||
"github.com/komari-monitor/komari-agent/dnsresolver"
|
||||
@@ -20,6 +23,15 @@ var RootCmd = &cobra.Command{
|
||||
Short: "komari agent",
|
||||
Long: `komari agent`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
// 捕获中止信号,优雅退出
|
||||
stopCtx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
|
||||
defer stop()
|
||||
go func() {
|
||||
<-stopCtx.Done()
|
||||
log.Printf("shutting down gracefully...")
|
||||
netstatic.Stop()
|
||||
os.Exit(0)
|
||||
}()
|
||||
|
||||
if flags.ShowWarning {
|
||||
ShowToast()
|
||||
|
||||
Reference in New Issue
Block a user