mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Merge pull request #83296 from yutedz/kill-cgrp-proc
Only kill process where killing failed during previous iterations
This commit is contained in:
commit
d70b2db1f2
@ -157,16 +157,22 @@ func (m *podContainerManagerImpl) tryKillingCgroupProcesses(podCgroup CgroupName
|
|||||||
var errlist []error
|
var errlist []error
|
||||||
// os.Kill often errors out,
|
// os.Kill often errors out,
|
||||||
// We try killing all the pids multiple times
|
// We try killing all the pids multiple times
|
||||||
|
removed := map[int]bool{}
|
||||||
for i := 0; i < 5; i++ {
|
for i := 0; i < 5; i++ {
|
||||||
if i != 0 {
|
if i != 0 {
|
||||||
klog.V(3).Infof("Attempt %v failed to kill all unwanted process. Retyring", i)
|
klog.V(3).Infof("Attempt %v failed to kill all unwanted process. Retyring", i)
|
||||||
}
|
}
|
||||||
errlist = []error{}
|
errlist = []error{}
|
||||||
for _, pid := range pidsToKill {
|
for _, pid := range pidsToKill {
|
||||||
|
if _, ok := removed[pid]; ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
klog.V(3).Infof("Attempt to kill process with pid: %v", pid)
|
klog.V(3).Infof("Attempt to kill process with pid: %v", pid)
|
||||||
if err := m.killOnePid(pid); err != nil {
|
if err := m.killOnePid(pid); err != nil {
|
||||||
klog.V(3).Infof("failed to kill process with pid: %v", pid)
|
klog.V(3).Infof("failed to kill process with pid: %v", pid)
|
||||||
errlist = append(errlist, err)
|
errlist = append(errlist, err)
|
||||||
|
} else {
|
||||||
|
removed[pid] = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(errlist) == 0 {
|
if len(errlist) == 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user