Bonjour à tous,
J'ai développé un script Python qui fait appel à subprocess.Popen(....) pour lancer un sous-processus. Et je souhaite pouvoir arrêter ce subprocess quand je clique sur un bouton, j'utilise donc la méthode subprocess.kill(). Tout ça fonctionne très bien lorsque je lance mon script avec Python.
Le problème est lorsque je "compile" ce script avec PyInstaller. Lorsque je clique sur mon bouton, le sous-processus n'est pas détruit.
Ou plutôt, en fait, PyInstaller crée 2 processus (du nom de mon sous-processus). On les voit dans le TaskManager de Windows. Et quand je clique sur le bouton (donc appel à subprocess.kill()), il y a bien 1 processus qui est détruit. Mais le second persiste et tourne toujours en mémoire. Et ce même si je ferme l'application "parente" Python.
Donc que faut-il faire pour détruire les 2 processus (le mien et celui créé par PyInstaller) lorsque je clique sur mon bouton ?
Merci
Partager