Je lance un sous-processus avec la commande suivante:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Cependant, lorsque j'essaie de tuer en utilisant:
p.terminate()
ou
p.kill()
La commande continue de s'exécuter en arrière-plan, alors je me demandais comment puis-je réellement mettre fin au processus.
Notez que lorsque j'exécute la commande avec:
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Il se termine avec succès lors de l'émission du p.terminate()
.
shell=True
fait une grande différence?
cmd
look? Il peut contenir une commande qui déclenche le démarrage de plusieurs processus. Il n'est donc pas clair de quel processus vous parlez.