Merge pull request #107250 from cndoit18/use-errors

cleanup(kubelet): use errors.Is(err, os.ErrProcessDone)
This commit is contained in:
Kubernetes Prow Robot 2022-01-11 10:49:01 -08:00 committed by GitHub
commit cadbe8dfb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,6 +17,7 @@ limitations under the License.
package cm
import (
"errors"
"fmt"
"io/ioutil"
"os"
@ -127,10 +128,7 @@ func (m *podContainerManagerImpl) killOnePid(pid int) error {
p, _ := os.FindProcess(pid)
if err := p.Kill(); err != nil {
// If the process already exited, that's fine.
if strings.Contains(err.Error(), "process already finished") {
// Hate parsing strings, but
// vendor/github.com/opencontainers/runc/libcontainer/
// also does this.
if errors.Is(err, os.ErrProcessDone) {
klog.V(3).InfoS("Process no longer exists", "pid", pid)
return nil
}