Убить процесс, созданный с помощью подпроцесса Python.Popen () [duplicate]
На этот вопрос уже есть ответ:
Как завершить подпроцесс python, запущенный с shell = True 10 ответовВот моя мысль:
Прежде всего, я создал процесс с помощью 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() #it sill cannot kill the proc1
os.kill(proc1.pid, signal.SIGKILL) # either cannot kill the proc1
Все же разрешите поблагодарить вас
И я все еще жду твоего драгоценного опыта по решению этой деликатной проблемы.