2016-12-29 3 views
0

Est-il possible en Python de fermer un script en utilisant uniquement le nom de fichier du script? J'ai deux scripts qui ne fonctionnent pas en même temps, donc au démarrage, je veux que l'un des scripts termine l'autre script. Est-ce possible? Si oui, s'il vous plaît laissez-moi savoir comment.Comment tuer script.py en Python sous Windows?

Toute aide grandement appréciée. Merci,

Mitra0000

+0

double possible de [Terminate un script python d'un autre script python] (http://stackoverflow.com/questions/3054740/terminate-a-python-script-from-another-python-script) – 2rs2ts

Répondre

0

Dans ce answer, il est dit que vous pouvez. Vous auriez besoin d'un "PID (Process Identifier)" et de savoir si vous utilisez Unix ou Python. Pourquoi? Parce qu'il ya deux façons différentes:

Unix:

import os, signal 
os.kill(5383, signal.SIGKILL) 

Fenêtres:

import subprocess as s 
def killProcess(pid): 
    s.Popen('taskkill /F /PID {0}'.format(pid), shell=True) 

La réponse a également mentionné:

Vous pouvez envoyer le PID à l'autre programm ou vous pouvez chercher dans la liste des processus pour trouver le nom de l'autre script et le tuer avec le script ci-dessus.

+0

Merci pour la réponse. Maintenant, lorsque le premier programme s'exécute, il enregistre son PID dans un fichier json externe. Le deuxième programme, lorsqu'il est exécuté, ouvre le fichier json et tue le PID stocké. Chaque fois que le premier programme est exécuté, le PID est mis à jour et chaque fois que le second programme s'exécute, le premier est fermé. Merci de votre aide. – Mitra0000