Use the -i Flag to Stop the Python Program From Closing Immediately. The -i flag is used to set the inspect flag to True when used in the command prompt. This prevents the program from exiting on SystemExit , so it can solve a Python program from closing immediately.
Ctrl + C on Windows can be used to terminate Python scripts and Ctrl + Z on Unix will suspend (freeze) the execution of Python scripts. If you press CTRL + C while a script is running in the console, the script ends and raises an exception.
You can also do it if you use the exit()
function in your code. More ideally, you can do sys.exit()
. sys.exit()
which might terminate Python even if you are running things in parallel through the multiprocessing
package.
Note: In order to use the sys.exit()
, you must import it: import sys
To stop your program, just press Control + C.
If your program is running at an interactive console, pressing CTRL + C will raise a KeyboardInterrupt
exception on the main thread.
If your Python program doesn't catch it, the KeyboardInterrupt
will cause Python to exit. However, an except KeyboardInterrupt:
block, or something like a bare except:
, will prevent this mechanism from actually stopping the script from running.
Sometimes if KeyboardInterrupt
is not working you can send a SIGBREAK
signal instead; on Windows, CTRL + Pause/Break may be handled by the interpreter without generating a catchable KeyboardInterrupt
exception.
However, these mechanisms mainly only work if the Python interpreter is running and responding to operating system events. If the Python interpreter is not responding for some reason, the most effective way is to terminate the entire operating system process that is running the interpreter. The mechanism for this varies by operating system.
In a Unix-style shell environment, you can press CTRL + Z to suspend whatever process is currently controlling the console. Once you get the shell prompt back, you can use jobs
to list suspended jobs, and you can kill the first suspended job with kill %1
. (If you want to start it running again, you can continue the job in the foreground by using fg %1
; read your shell's manual on job control for more information.)
Alternatively, in a Unix or Unix-like environment, you can find the Python process's PID (process identifier) and kill it by PID. Use something like ps aux | grep python
to find which Python processes are running, and then use kill <pid>
to send a SIGTERM
signal.
The kill
command on Unix sends SIGTERM
by default, and a Python program can install a signal handler for SIGTERM
using the signal
module. In theory, any signal handler for SIGTERM
should shut down the process gracefully. But sometimes if the process is stuck (for example, blocked in an uninterruptable IO sleep state), a SIGTERM
signal has no effect because the process can't even wake up to handle it.
To forcibly kill a process that isn't responding to signals, you need to send the SIGKILL
signal, sometimes referred to as kill -9
because 9
is the numeric value of the SIGKILL
constant. From the command line, you can use kill -KILL <pid>
(or kill -9 <pid>
for short) to send a SIGKILL
and stop the process running immediately.
On Windows, you don't have the Unix system of process signals, but you can forcibly terminate a running process by using the TerminateProcess
function. Interactively, the easiest way to do this is to open Task Manager, find the python.exe
process that corresponds to your program, and click the "End Process" button. You can also use the taskkill
command for similar purposes.
exit()
, you can do it.pkill -f name-of-the-python-script
.To stop a running program, use Ctrl+C to terminate the process.
To handle it programmatically in python, import the sys
module and use sys.exit()
where you want to terminate the program.
import sys
sys.exit()
To stop a python script using the keyboard: Ctrl + C
To stop it using code (This has worked for me on Python 3) :
import os
os._exit(0)
you can also use:
import sys
sys.exit()
or:
exit()
or:
raise SystemExit
Ctrl-Break it is more powerful than Ctrl-C
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With