def METHOD_NAME(self):
    try:
        parent = psutil.Process(self.proc.pid)
        self.log_func("killing pid {}".format(self.proc.pid))
        [child.METHOD_NAME() for child in parent.children(recursive=True)]
        parent.METHOD_NAME()
        self.wait()
        self.log_func('killed process with pid {}'.format(self.proc.pid))
    except psutil.NoSuchProcess:
        self.log_func('process with pid {} no longer exists'.format(self.proc.pid))