Убить процесс, созданный с помощью подпроцесса 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

Все же разрешите поблагодарить вас

И я все еще жду твоего драгоценного опыта по решению этой деликатной проблемы.

Ответы на вопрос(4)

Ваш ответ на вопрос