From 322a74429de2612d3922d9304c5aade332ee0184 Mon Sep 17 00:00:00 2001 From: Alireza Ahmadi Date: Fri, 20 Feb 2026 01:31:33 +0100 Subject: [PATCH] fix windows signal --- main.go | 5 +++-- util/sys/sys_darwin.go | 4 ++++ util/sys/sys_linux.go | 3 +++ util/sys/sys_windows.go | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index ac28819b..218be68f 100644 --- a/main.go +++ b/main.go @@ -16,6 +16,7 @@ import ( "github.com/alireza0/x-ui/database" "github.com/alireza0/x-ui/logger" "github.com/alireza0/x-ui/sub" + "github.com/alireza0/x-ui/util/sys" "github.com/alireza0/x-ui/web" "github.com/alireza0/x-ui/web/global" "github.com/alireza0/x-ui/web/service" @@ -67,7 +68,7 @@ func runWebServer() { sigCh := make(chan os.Signal, 1) // Trap shutdown signals - signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGTERM, syscall.SIGUSR1) + signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGTERM, sys.SIGUSR1) for { sig := <-sigCh @@ -98,7 +99,7 @@ func runWebServer() { log.Println(err) return } - case syscall.SIGUSR1: + case sys.SIGUSR1: logger.Info("Received USR1 signal, restarting xray-core...") err := server.RestartXray() if err != nil { diff --git a/util/sys/sys_darwin.go b/util/sys/sys_darwin.go index 3f5b2072..cdf4964b 100644 --- a/util/sys/sys_darwin.go +++ b/util/sys/sys_darwin.go @@ -4,9 +4,13 @@ package sys import ( + "syscall" + "github.com/shirou/gopsutil/v4/net" ) +var SIGUSR1 = syscall.SIGUSR1 + func GetTCPCount() (int, error) { stats, err := net.Connections("tcp") if err != nil { diff --git a/util/sys/sys_linux.go b/util/sys/sys_linux.go index bcb7046e..0f831f26 100644 --- a/util/sys/sys_linux.go +++ b/util/sys/sys_linux.go @@ -8,8 +8,11 @@ import ( "fmt" "io" "os" + "syscall" ) +var SIGUSR1 = syscall.SIGUSR1 + func getLinesNum(filename string) (int, error) { file, err := os.Open(filename) if err != nil { diff --git a/util/sys/sys_windows.go b/util/sys/sys_windows.go index e2fa81f0..505f0d37 100644 --- a/util/sys/sys_windows.go +++ b/util/sys/sys_windows.go @@ -4,9 +4,13 @@ package sys import ( + "syscall" + "github.com/shirou/gopsutil/v4/net" ) +var SIGUSR1 = syscall.Signal(0) + func GetTCPCount() (int, error) { stats, err := net.Connections("tcp") if err != nil {