Cómo terminar un subproceso de Python lanzado con shell = True
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)
Termina con éxito al emitir elp.terminate()
.