package client import ( "fmt" "os/exec" "runtime" "strconv" "strings" ) func killProcessByPID(pidStr string) (bool, string) { pid, err := strconv.Atoi(strings.TrimSpace(pidStr)) if err != nil || pid <= 0 { return false, "invalid pid: " + pidStr } if runtime.GOOS == "windows" { out, err := silentCombinedOutput("taskkill", "/F", "/PID", fmt.Sprintf("%d", pid)) if err != nil { return false, formatCmdErr(err, out) } return true, strings.TrimSpace(string(out)) } out, err := exec.Command("kill", "-9", fmt.Sprintf("%d", pid)).CombinedOutput() if err != nil { return false, formatCmdErr(err, out) } return true, strings.TrimSpace(string(out)) }