diff --git a/server/utils/cmd_Task.go b/server/utils/cmd_Task.go index f1d0ac1e2a13e9c35936f9cdc656ccf0ba599019..fe9fbd6105812e196adabd14a0e73755a6a51823 100644 --- a/server/utils/cmd_Task.go +++ b/server/utils/cmd_Task.go @@ -1,6 +1,7 @@ package utils import ( + "fmt" "os" "os/exec" "strings" @@ -72,12 +73,33 @@ func (t *T) AddTask() { } func (t *T) RunTask() { + // 先run服务 + err := t.Run() + if err != nil { + return + } for { _, ok := <-t.ch if !ok { return } // todo 执行任务 + // 先编译新的文件 然后 kill 然后执行 + fmt.Println(kill(t.Cmd.Process.Pid)) + err = t.Run() + if err != nil { + fmt.Println(err) + return + } + + } +} +// kill: +func kill(pid int) error { + p, err := os.FindProcess(pid) + if err != nil { + return err } + return p.Kill() }