J'ai écrit un programme dans IDLE pour tokenize les fichiers texte et il commence à tokeniza 349 fichiers texte! Comment puis-je l'arrêter? Comment puis-je arrêter un programme Python en cours d'exécution?
Тобы остановить вашу программу, просто нажмитеControl+C,.
Vous pouvez également le faire si vous utilisez la fonction exit()
dans votre code. Plus idéalement, vous pouvez faire sys.exit()
. sys.exit()
peut arrêter Python même si vous exécutez des tâches en parallèle via le package multiprocessing
.
Si votre programme est exécuté sur une console interactive, appuyez sur CTRL + C lève une exception KeyboardInterrupt
sur le thread principal.
Si votre programme Python ne l'attrape pas, KeyboardInterrupt
provoquera la fermeture de Python. Cependant, un bloc except KeyboardInterrupt:
, ou quelque chose comme un except:
nu, empêchera ce mécanisme d’exécuter le script.
Parfois, si KeyboardInterrupt
ne fonctionne pas, vous pouvez envoyer un signal SIGBREAK
à la place; sous Windows, CTRL + Pause/Break peut être traité par l’interprète sans générer une exception KeyboardInterrupt
capturable.
Cependant, ces mécanismes ne fonctionnent principalement que si l'interpréteur Python est en cours d'exécution et répond aux événements du système d'exploitation. Si l'interpréteur Python ne répond pas pour une raison quelconque, le moyen le plus efficace consiste à terminer l'ensemble du processus du système d'exploitation qui l'exécute. Le mécanisme utilisé varie en fonction du système d'exploitation.
Dans un environnement de type Unix, vous pouvez appuyer sur CTRL + Z to suspend quel que soit le processus contrôlant actuellement la console. Une fois que vous avez reçu l'invite du shell, vous pouvez utiliser jobs
pour répertorier les travaux suspendus. Vous pouvez également supprimer le premier travail suspendu avec kill %1
. (Si vous souhaitez redémarrer son exécution, vous pouvez poursuivre le travail au premier plan en utilisant fg %1
; lisez le manuel de votre shell sur le contrôle des travaux pour plus d'informations.)
Sinon, dans un environnement Unix ou analogue, vous pouvez trouver le PID (identificateur de processus) du processus Python et le tuer par PID. Utilisez quelque chose comme ps aux | grep python
pour rechercher les processus Python en cours d'exécution, puis utilisez kill <pid>
pour envoyer un signal SIGTERM
name__.
La commande kill
sur Unix envoie SIGTERM
par défaut et un programme Python peut installer un gestionnaire de signaux pour SIGTERM
en utilisant le module signal
name__. En théorie, tout gestionnaire de signal pour SIGTERM
devrait arrêter le processus normalement. Mais parfois, si le processus est bloqué (par exemple, bloqué dans un état ininterruptible IO veille), un signal SIGTERM
n'a aucun effet, car le processus ne peut même pas se réveiller pour le gérer.
Pour supprimer de force un processus qui ne répond pas aux signaux, vous devez envoyer le signal SIGKILL
name__, parfois appelé kill -9
, car 9
est la valeur numérique de la constante SIGKILL
name__. À partir de la ligne de commande, vous pouvez utiliser kill -KILL <pid>
(ou kill -9 <pid>
en abrégé) pour envoyer un SIGKILL
et arrêter le processus en cours immédiatement.
Sous Windows, vous n’avez pas le système de signaux de processus Unix, mais vous pouvez forcer la fin d’un processus en cours à l’aide de la fonction TerminateProcess
name__. Pour ce faire, la méthode la plus simple consiste à ouvrir le Gestionnaire des tâches, à rechercher le processus python.exe
correspondant à votre programme et à cliquer sur le bouton "Terminer le processus". Vous pouvez également utiliser la commande taskkill
à des fins similaires.
Ctrl-Break il est plus puissant que Ctrl-C
Ctrl + C
.exit()
, vous pouvez le faire.pkill -f name-of-the-python-script
.Pour arrêter un programme en cours: utilisez CTRL + C pour terminer le processus.
Pour le gérer par programme en python: importez le module sys et utilisez sys.exit à l'endroit où vous souhaitez terminer le programme.
import sys
sys.exit()
vous pouvez également utiliser le Activity Monitor
pour arrêter le processus py
Quand j'ai un script python s'exécutant sur un terminal linux, CTRL +\fonctionne. (pas CRTL + C ou D)
Pour arrêter votre programme, appuyez simplement sur CTRL + D
ou exit()
.
Si vous travaillez avec Spyder, utilisez CTRL +. (DOT) et vous redémarrerez le noyau. Vous arrêterez également le programme.
Presse Ctrl+Alt+Delete et le gestionnaire de tâches apparaîtra. Recherchez la commande Python en cours d'exécution, cliquez dessus avec le bouton droit de la souris et cliquez sur Arrêter ou tuer.
Ctrl + Z devrait le faire, si vous êtes pris dans le shell Python. N'oubliez pas que les instances du script peuvent continuer à s'exécuter en arrière-plan. Par conséquent, sous Linux, vous devez arrêter le processus correspondant.
Control+D fonctionne pour moi sur Windows 10. De plus, mettre exit()
à la fin fonctionne également.