nightingale/vendor/github.com/toolkits/pkg/sys/kill.go

25 lines
449 B
Go

package sys
import (
"fmt"
"strconv"
"strings"
)
func KillProcessByCmdline(cmdline string) error {
cmdline = strings.TrimSpace(cmdline)
if cmdline == "" {
return fmt.Errorf("cmdline is blank")
}
pids := PidsByCmdline(cmdline)
for i := 0; i < len(pids); i++ {
out, err := CmdOutTrim("kill", "-9", strconv.Itoa(pids[i]))
if err != nil {
return fmt.Errorf("kill -9 %d fail: %v, output: %s", pids[i], err, out)
}
}
return nil
}