mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-16 15:20:17 +00:00
Change process group when sending kill signal
Otherwise when the target process is running sudo it ignores the signal.
This commit is contained in:
parent
0b1f0e8353
commit
a8d7e93d66
@ -361,7 +361,10 @@ func (k *killCmd) Kill() error {
|
|||||||
const timeout = 10 * time.Second
|
const timeout = 10 * time.Second
|
||||||
for _, signal := range []string{"-TERM", "-KILL"} {
|
for _, signal := range []string{"-TERM", "-KILL"} {
|
||||||
glog.V(2).Infof("Killing process %d (%s) with %s", pid, name, signal)
|
glog.V(2).Infof("Killing process %d (%s) with %s", pid, name, signal)
|
||||||
_, err := exec.Command("sudo", "kill", signal, strconv.Itoa(pid)).Output()
|
cmd := exec.Command("sudo", "kill", signal, strconv.Itoa(pid))
|
||||||
|
// Run the 'kill' command in a separate process group so sudo doesn't ignore it
|
||||||
|
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
|
||||||
|
_, err := cmd.Output()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Error signaling process %d (%s) with %s: %v", pid, name, signal, err)
|
glog.Errorf("Error signaling process %d (%s) with %s: %v", pid, name, signal, err)
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user