Contamos con la respuesta a esta duda, al menos eso creemos. Si sigues con preguntas dínoslo, que sin tardar
Solución:
También puedes hacerlo si usas el exit()
función en su código. Más idealmente, puedes hacer sys.exit()
. sys.exit()
cual podría termine Python incluso si está ejecutando cosas en paralelo a través del multiprocessing
paquete.
Nota: Para utilizar el sys.exit()
, debes importarlo: import sys
Para detener su programa, simplemente presione Control + C.
Si su programa se ejecuta en una consola interactiva, presione CONTROL + C levantará un KeyboardInterrupt
excepción en el hilo principal.
Si su programa Python no lo detecta, el KeyboardInterrupt
hará que Python salga. Sin embargo, un except KeyboardInterrupt:
bloque, o algo así como un desnudo except:
, evitará que este mecanismo realmente detenga la ejecución del script.
A veces si KeyboardInterrupt
no funciona puedes enviar un SIGBREAK
señal en su lugar; en Windows, CONTROL + Pausa/Pausa puede ser manejado por el intérprete sin generar un catchable KeyboardInterrupt
excepción.
Sin embargo, estos mecanismos solo funcionan principalmente si el intérprete de Python se está ejecutando y responde a los eventos del sistema operativo. Si el intérprete de Python no responde por alguna razón, la forma más efectiva es finalizar todo el proceso del sistema operativo que ejecuta el intérprete. El mecanismo para esto varía según el sistema operativo.
En un entorno de shell estilo Unix, puede presionar CONTROL + Z a suspender cualquier proceso que esté controlando actualmente la consola. Una vez que recupere el indicador de shell, puede usar jobs
para listar trabajos suspendidos, y puede eliminar el primer trabajo suspendido con kill %1
. (Si desea que vuelva a ejecutarse, puede continuar el trabajo en primer plano utilizando fg %1
; lea el manual de su caparazón sobre el control de trabajos para obtener más información).
Alternativamente, en un entorno Unix o similar a Unix, puede encontrar el PID (identificador de proceso) del proceso de Python y matarlo por PID. Usa algo como ps aux | grep python
para encontrar qué procesos de Python se están ejecutando y luego usar kill
para enviar un SIGTERM
señal.
El kill
comando en Unix envía SIGTERM
por defecto, y un programa de Python puede instalar un controlador de señal para SIGTERM
utilizando el signal
módulo. En teoría, cualquier controlador de señal para SIGTERM
debería cerrar el proceso con gracia. Pero a veces, si el proceso está atascado (por ejemplo, bloqueado en un estado de suspensión de E/S ininterrumpida), un SIGTERM
la señal no tiene efecto porque el proceso ni siquiera puede despertarse para manejarlo.
Para eliminar por la fuerza un proceso que no responde a las señales, debe enviar el SIGKILL
señal, a veces denominada kill -9
porque 9
es el valor numérico de la SIGKILL
constante. Desde la línea de comando, puede usar kill -KILL
(o kill -9
para abreviar) para enviar un SIGKILL
y detener la ejecución del proceso inmediatamente.
En Windows, no tiene el sistema Unix de señales de proceso, pero puede terminar por la fuerza un proceso en ejecución usando el TerminateProcess
función. De forma interactiva, la forma más sencilla de hacerlo es abrir el Administrador de tareas, buscar el python.exe
proceso que corresponde a su programa, y haga clic en el botón “Finalizar proceso”. También puede utilizar el taskkill
comando para propósitos similares.
Te invitamos a sustentar nuestro análisis poniendo un comentario o dejando una puntuación te lo agradecemos.