mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-09-19 00:13:03 +00:00
windows: error filter
This commit is contained in:
parent
6d41320ed7
commit
46de886b53
2 changed files with 18 additions and 1 deletions
|
@ -2,6 +2,7 @@ package xray
|
|||
|
||||
import (
|
||||
"regexp"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"x-ui/logger"
|
||||
|
@ -20,6 +21,12 @@ func (lw *LogWriter) Write(m []byte) (n int, err error) {
|
|||
|
||||
// Convert the data to a string
|
||||
message := strings.TrimSpace(string(m))
|
||||
msgLowerAll := strings.ToLower(message)
|
||||
|
||||
// Suppress noisy Windows process-kill signal that surfaces as exit status 1
|
||||
if runtime.GOOS == "windows" && strings.Contains(msgLowerAll, "exit status 1") {
|
||||
return len(m), nil
|
||||
}
|
||||
|
||||
// Check if the message contains a crash
|
||||
if crashRegex.MatchString(message) {
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
"os"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
|
@ -224,6 +225,15 @@ func (p *process) Start() (err error) {
|
|||
go func() {
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
// On Windows, killing the process results in "exit status 1" which isn't an error for us
|
||||
if runtime.GOOS == "windows" {
|
||||
errStr := strings.ToLower(err.Error())
|
||||
if strings.Contains(errStr, "exit status 1") {
|
||||
// Suppress noisy log on graceful stop
|
||||
p.exitErr = err
|
||||
return
|
||||
}
|
||||
}
|
||||
logger.Error("Failure in running xray-core:", err)
|
||||
p.exitErr = err
|
||||
}
|
||||
|
@ -239,7 +249,7 @@ func (p *process) Stop() error {
|
|||
if !p.IsRunning() {
|
||||
return errors.New("xray is not running")
|
||||
}
|
||||
|
||||
|
||||
if runtime.GOOS == "windows" {
|
||||
return p.cmd.Process.Kill()
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue