gpt4 book ai didi

python - 杀死python进程时杀死子进程?

转载 作者:可可西里 更新时间:2023-11-01 13:26:28 33 4
gpt4 key购买 nike

我正在编写一个启动子进程的 python 程序(使用 Popen)。我正在读取子进程的标准输出,进行一些过滤,然后写入主进程的标准输出。

当我终止主进程 (cntl-C) 时,子进程继续运行。我如何也杀死子进程?子进程很可能会运行很长时间。

上下文:我一次只启动一个子进程,我正在过滤它的标准输出。用户可能会决定中断以尝试其他操作。

我是 python 的新手,我正在使用 windows,所以请保持温柔。

最佳答案

Windows 没有信号,所以你不能使用信号模块。但是,您仍然可以在按下 Ctrl-C 时捕获 KeyboardInterrupt 异常。

像这样的事情应该让你继续:

import subprocess

try:
child = subprocess.Popen(blah)
child.wait()

except KeyboardInterrupt:
child.terminate()

关于python - 杀死python进程时杀死子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1603658/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com