我的想法如下:
首先,我使用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)
然而,在调用Popen.kill()之后,"proc1"仍然存在。请问有哪位专家能告诉我如何解决这个问题?感谢您的考虑。
感谢所有专家的评论,我已经按照大家推荐的做了,但结果仍然没有改变。
proc1.kill() #它依然无法杀死proc1
os.kill(proc1.pid, signal.SIGKILL) # either cannot kill the proc1
谢谢大家的支持。
我仍在等待您宝贵的经验,帮助解决这个微妙的问题。
subprocess.Popen.kill(proc)
和proc.kill()
是完全相同的,供您参考。 - Erik Kaplunkill -9
不起作用。你的问题可能是需要杀死整个进程树。 - jfs