diff --git a/src/agentd/timer/cmd_nix.go b/src/agentd/timer/cmd_nix.go index 2f3dc74..f9423c7 100644 --- a/src/agentd/timer/cmd_nix.go +++ b/src/agentd/timer/cmd_nix.go @@ -12,3 +12,7 @@ func CmdStart(cmd *exec.Cmd) error { cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} return cmd.Start() } + +func CmdKill(cmd *exec.Cmd) error { + return syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL) +} diff --git a/src/agentd/timer/cmd_windows.go b/src/agentd/timer/cmd_windows.go index 5fdad17..2790d5f 100644 --- a/src/agentd/timer/cmd_windows.go +++ b/src/agentd/timer/cmd_windows.go @@ -6,3 +6,7 @@ package timer func CmdStart(cmd *exec.Cmd) error { return cmd.Start() } + +func CmdKill(cmd *exec.Cmd) error { + return cmd.Process.Kill() +} diff --git a/src/agentd/timer/task.go b/src/agentd/timer/task.go index 6e24a93..f0efff6 100644 --- a/src/agentd/timer/task.go +++ b/src/agentd/timer/task.go @@ -9,7 +9,6 @@ import ( "path" "strings" "sync" - "syscall" "github.com/toolkits/pkg/file" "github.com/toolkits/pkg/runner" @@ -298,7 +297,7 @@ func killProcess(t *Task) { log.Printf("D: begin kill process of task[%d]", t.Id) - err := syscall.Kill(-t.Cmd.Process.Pid, syscall.SIGKILL) + err := CmdKill(t.Cmd) if err != nil { t.SetStatus("killfailed") log.Printf("D: kill process of task[%d] fail: %v", t.Id, err)