gpt4 book ai didi

python - 杀死使用 Python 的 subprocess.Popen() 创建的进程

转载 作者:IT老高 更新时间:2023-10-28 20:32:09 35 4
gpt4 key购买 nike

这是我的想法:

首先,我使用 subprocess.Popen 创建了一个进程

其次,经过一段时间后,我尝试通过 Popen.kill() 杀死它

import subprocess
import os, signal
import time

proc1 = subprocess.Popen("kvm -hda /path/xp.img", shell = True)
time.sleep(2.0)
print 'proc1 = ', proc1.pid
subprocess.Popen.kill(proc1)

但是,“proc1”在 Popen.kill() 之后仍然存在。有高手能告诉我如何解决这个问题吗?感谢您的考虑。

感谢所有专家的评论,我按照你的建议做了,但结果还是一样。

proc1.kill() #仍然无法杀死proc1

os.kill(proc1.pid, signal.SIGKILL) # either cannot kill the proc1

谢谢大家。

我还在等待您解决这个棘手问题的宝贵经验。

最佳答案

在你的代码中应该是

proc1.kill()

两者killterminatePopen object 的方法.在 macOS 和 Linux 上,kill 发送信号 signal.SIGKILL到进程并 terminate 发送 signal.SIGTERM .在 Windows 上,它们都调用 Windows 的 TerminateProcess()功能。

关于python - 杀死使用 Python 的 subprocess.Popen() 创建的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4084322/

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