2016-07-19 1 views
3

J'utilise Python 3.5 et Windows 7. J'essaie d'ouvrir un fichier exe, puis de le terminer. J'ai réussi à l'ouvrir, mais je ne peux pas le fermer. Voici une version abrégée de mon code:Python - Impossible de tuer le processus

from subprocess import Popen 

open = Popen(["filename"], shell = True, cwd = "path\to\file") 
open.terminate() 

J'ai aussi essayé open.kill(), os.kill (open.pid, 0) et os.system ("TASKKILL/IM/F filename.exe "). J'ai aussi trouvé un post suggérant de ne pas utiliser shell = True, mais je n'ai pas réussi à faire fonctionner Popen sans elle. Aucune de ces options ne génère d'erreurs, elles ne ferment pas le fichier ouvert.

J'ai trouvé des erreurs similaires en ligne, mais il ne semble pas y avoir de solution concrète à cela. Les solutions potentielles que j'ai lues (les plus communes énumérées ci-dessus) n'ont pas fonctionné pour moi. Y a-t-il une solution à cela?

Répondre

1

Il s'avère que shell = False est nécessaire pour que cela fonctionne. Voici mon code réussi:

open = Popen(["path\to\file\filename"]) 
open.terminate()