code: func (m *podContainerManagerImpl) tryKillingCgroupProcesses(podCgroup CgroupName) error {
  	pidsToKill := m.cgroupManager.Pids(podCgroup)
  	// No pids charged to the terminated pod cgroup return
  	if len(pidsToKill) == 0 {
  		return nil
  	}
  
  	var errlist []error
  	// os.Kill often errors out,
  	// We try killing all the pids multiple times
  	for i := 0; i < 5; i++ {
  		if i != 0 {
  			klog.V(3).Infof("Attempt %v failed to kill all unwanted process. Retyring", i)
  		}
  		errlist = []error{}
  		for _, pid := range pidsToKill {
  			klog.V(3).Infof("Attempt to kill process with pid: %v", pid)
  			if err := m.killOnePid(pid); err != nil {
  				klog.V(3).Infof("failed to kill process with pid: %v", pid)
  				errlist = append(errlist, err)
  			}
  		}
  		if len(errlist) == 0 {
  			klog.V(3).Infof("successfully killed all unwanted processes.")
  			return nil
  		}
  	}
  	return utilerrors.NewAggregate(errlist)
  }
docs: // Scan through the whole cgroup directory and kill all processes either
  // attached to the pod cgroup or to a container cgroup under the pod cgroup