Windows下如何终止subprocess创建的子进程的子进程?
Windows下终止子进程无法连带终止孙进程的问题
我通过以下代码启动20个子进程:
process1 = subprocess.Popen(command1, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False, encoding='utf-8', cwd=full_path)
其中command1用于调用scheduleInstasck.py文件,该文件内部会触发另一个命令启动process2:
process2 = subprocess.Popen(command2, shell=False, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, cwd='./{}'.format(client_folders[running_index]))
command2负责调用我的应用程序quickstart.py。
目前遇到的问题是:当我调用process1.terminate()时,仅process1会被终止,而process2仍会存活并持续输出日志直至运行结束。
我尝试过两种在scheduleInstasck.py中捕获终止信号、进而调用process2.terminate()的实现方案,但该逻辑在Windows系统下从未触发。
内容的提问来源于stack exchange,提问作者Si si
相关产品推荐
相关产品推荐

