J'ai un script Python qui s'exécute et qui vide continuellement les erreurs dans un fichier journal.
Je souhaite modifier le script et l'exécuter à nouveau, mais je ne sais pas comment arrêter le script.
Je suis actuellement connecté à Linux via PuTTy et je fais tout le codage là-bas. Alors, existe-t-il une commande pour arrêter le script python sous linux?
Recherchez l'ID de processus (PID) du script et émettez un
kill -9 PID
pour tuer le processus à moins qu'il ne s'exécute en tant que processus de base sur le terminal, auquel cas vous pouvez Contrl-C pour le tuer.Trouvez le PID avec cette commande:
Il répertorie tous les processus python, choisissez celui de droite et notez son PID. alors
va tuer le processus. Vous pouvez recevoir un message indiquant la fin d'un processus à ce stade.
Alternativement, vous pouvez utiliser la
top
commande pour trouver le processus python. Entrez simplementk
(pour kill) et letop
programme vous demandera le PID du processus à tuer. Parfois, il est difficile de voir tous les processus qui vous intéressenttop
car ils peuvent défiler hors de l'écran, je pense que l'ps
approche est plus facile / meilleure.la source
-9
, je le tuerais d'abord "doucement". Seulement si ça ne réagit pas, j'utiliserais-9
.Essayez cette ligne simple, elle terminera tout
script.py
:la source
Si le programme est le processus en cours dans votre shell, taper Ctrl-C arrêtera le programme Python.
la source
Dans un monde parfait, vous liriez la documentation du script et verriez quel (s) signal (s) utiliser pour lui dire de se terminer. Dans la vraie vie, vous voudrez probablement lui envoyer le signal TERM, d'abord, peut-être en utilisant un signal KILL s'il ignore le TERM. Donc, ce que vous faites est de trouver l'ID de processus, en utilisant la commande ps (comme quelqu'un l'a déjà décrit). Ensuite, vous pouvez exécuter
kill -TERM <pid>
. Certains programmes nettoieront les choses, comme les fichiers qu'ils pourraient avoir ouverts, quand ils recevront un signal comme ça, donc c'est plus agréable de commencer avec quelque chose comme ça. Si cela échoue, alors il n'y a pas grand - chose à faire à part le gros marteau:kill -KILL <pid>
. (vous pouvez utiliser les valeurs numériques, par exemple -KILL = -9, et elles ne changeront probablement jamais, mais dans un sens théorique, il pourrait être plus sûr d'utiliser les noms)la source
Si vous connaissez le nom du script, vous pouvez réduire tout le travail à une seule commande:
Si vous voulez vous assurer qu'il s'agit bien d'un script python:
Si vous vouliez tuer tous les scripts python:
Je suppose que vous avez l'idée;)
Rappel: vous devez "" citer le nom du script tel qu'il est dans les exemples.
la source