diff --git a/internal/app/api/proc.go b/internal/app/api/proc.go index 4c6ccc4..2d29899 100644 --- a/internal/app/api/proc.go +++ b/internal/app/api/proc.go @@ -5,6 +5,7 @@ import ( "time" "github.com/google/uuid" + "github.com/lzh-1625/go_process_manager/internal/app/eum" "github.com/lzh-1625/go_process_manager/internal/app/logic" "github.com/lzh-1625/go_process_manager/internal/app/model" "github.com/lzh-1625/go_process_manager/internal/app/repository" @@ -63,7 +64,7 @@ func (p *procApi) StartProcess(ctx *gin.Context, req struct { logic.ProcessCtlLogic.AddProcess(req.Uuid, proc) return nil } - if prod.State.State == 1 { + if prod.State.State == eum.ProcessStateStart { return errors.New("process is currently running") } prod.ResetRestartTimes() diff --git a/internal/app/api/ws.go b/internal/app/api/ws.go index 3e51958..dad1bc0 100644 --- a/internal/app/api/ws.go +++ b/internal/app/api/ws.go @@ -74,7 +74,7 @@ func (w *wsApi) WebsocketHandle(ctx *gin.Context, req model.WebsocketHandleReq) wsLock: sync.Mutex{}, } proc.ReadCache(wci) - if proc.State.State == 1 { + if proc.State.State == eum.ProcessStateStart { proc.SetTerminalSize(req.Cols, req.Rows) w.startWsConnect(wci, cancel, proc, hasOprPermission(ctx, req.Uuid, eum.OperationTerminalWrite)) proc.AddConn(reqUser, wci) @@ -112,7 +112,7 @@ func (w *wsApi) WebsocketShareHandle(ctx *gin.Context, req model.WebsocketHandle if proc.HasWsConn(guestName) { return errors.New("connection already exists") } - if proc.State.State != 1 { + if proc.State.State != eum.ProcessStateStart { return errors.New("process not is running") } if !proc.VerifyControl() { diff --git a/internal/app/eum/process.go b/internal/app/eum/process.go index c08a40d..d38799e 100644 --- a/internal/app/eum/process.go +++ b/internal/app/eum/process.go @@ -13,4 +13,5 @@ const ( ProcessStateStop ProcessState = iota ProcessStateStart ProcessStateWarnning + ProcessStateRunning ) diff --git a/internal/app/logic/process_base.go b/internal/app/logic/process_base.go index 485a0c2..80da378 100644 --- a/internal/app/logic/process_base.go +++ b/internal/app/logic/process_base.go @@ -281,7 +281,7 @@ func (p *ProcessBase) monitorHanler() { ticker := time.NewTicker(time.Second * time.Duration(config.CF.PerformanceInfoInterval)) defer ticker.Stop() for { - if p.State.State != 1 { + if p.State.State != eum.ProcessStateStart { log.Logger.Debugw("进程未在运行", "state", p.State.State) return } diff --git a/internal/app/logic/process_logic.go b/internal/app/logic/process_logic.go index 28d6dca..8ca8ef0 100644 --- a/internal/app/logic/process_logic.go +++ b/internal/app/logic/process_logic.go @@ -37,7 +37,7 @@ func (p *processCtlLogic) KillProcess(uuid int) error { if !ok { return errors.New("进程类型错误") } - if result.State.State != 1 { + if result.State.State != eum.ProcessStateStart { return nil } result.State.manualStopFlag = true @@ -61,7 +61,7 @@ func (p *processCtlLogic) KillAllProcess() { wg := sync.WaitGroup{} p.processMap.Range(func(key, value any) bool { process := value.(*ProcessBase) - if process.State.State != 1 { + if process.State.State != eum.ProcessStateStart { return true } wg.Add(1) diff --git a/internal/app/logic/process_pty_linux.go b/internal/app/logic/process_pty_linux.go index ae3f129..fee8551 100644 --- a/internal/app/logic/process_pty_linux.go +++ b/internal/app/logic/process_pty_linux.go @@ -39,7 +39,7 @@ func (p *ProcessPty) Start() (err error) { } }() if ok := p.SetState(eum.ProcessStateStart, func() bool { - return p.State.State != 1 + return p.State.State != eum.ProcessStateStart }); !ok { log.Logger.Warnw("进程已在运行,跳过启动") return nil diff --git a/internal/app/logic/process_std.go b/internal/app/logic/process_std.go index e4b4e0b..0b9449d 100644 --- a/internal/app/logic/process_std.go +++ b/internal/app/logic/process_std.go @@ -46,7 +46,7 @@ func (p *ProcessStd) Start() (err error) { } }() if ok := p.SetState(eum.ProcessStateStart, func() bool { - return p.State.State != 1 + return p.State.State != eum.ProcessStateStart }); !ok { log.Logger.Warnw("进程已在运行,跳过启动") return nil