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