You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:29:57