Estoy iniciando un subproceso con el siguiente comando:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Sin embargo, cuando trato de matar usando:
p.terminate()
o
p.kill()
El comando sigue ejecutándose en segundo plano, así que me preguntaba cómo puedo realmente terminar el proceso.
Tenga en cuenta que cuando ejecuto el comando con:
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Se termina con éxito al emitir el p.terminate()
.
shell=True
hecho una gran diferencia?
cmd
aspecto? Puede contener un comando que desencadena varios procesos para iniciarse. Entonces no está claro de qué proceso hablas.