Je lance un sous-processus avec la commande suivante :
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Cependant, quand j'essaie de tuer en utilisant :
p.terminate()
ou
p.kill()
La commande continue de s'exécuter en arrière-plan, et je me demande comment je peux mettre fin au processus.
Notez que lorsque je lance la commande avec :
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Il se termine avec succès lors de l'émission de la commande p.terminate()
.
0 votes
Que fait votre
cmd
ressemble-t-il ? 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.2 votes
Liés : Python : comment tuer le(s) processus enfant(s) lorsque le parent meurt ?
2 votes
N'ayant pas
shell=True
faire une grande différence ?