Python子进程超时不终止进程

Python子进程超时不终止进程,python,python-3.x,subprocess,Python,Python 3.x,Subprocess,我在超时时终止进程时遇到问题。基本上,我在for循环中运行一个linux命令(相同的命令用于文件列表): 我尝试了一些方法,但在超时过期后进程不会被终止。我该怎么做?至少根据文档,进程本身被终止并等待。它是否可能产生存活的子进程?我们不知道这个命令在做什么…这个命令是在android模拟器上运行一些测试的包装器。它当然会产生一个或两个子进程。我应该处理它们还是用主进程终止它们?它们可能用父进程终止,也可能不用父进程终止。影响它的变量太多了,不知道它们是如何实现的。 for target in t

我在超时时终止进程时遇到问题。基本上,我在for循环中运行一个linux命令(相同的命令用于文件列表):


我尝试了一些方法,但在超时过期后进程不会被终止。我该怎么做?

至少根据文档,进程本身被终止并等待。它是否可能产生存活的子进程?我们不知道这个命令在做什么…这个命令是在android模拟器上运行一些测试的包装器。它当然会产生一个或两个子进程。我应该处理它们还是用主进程终止它们?它们可能用父进程终止,也可能不用父进程终止。影响它的变量太多了,不知道它们是如何实现的。
for target in targets:
    try:
        result = subprocess.run(['filerunner', 'work', '-target=' + target],
                            stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=600)

        logging.info(result.stdout.decode('utf-8')) # logging out to log file
        logging.info(result.stderr.decode('utf-8')) # logging err to log file
    except subprocess.TimeoutExpired:
        logging.info('Operation failed due to process timeout (10 minutes).')
        # result.kill() tried with this to kill process manually
        time.sleep(1)
        pass