Python 捕获 Ctrl+C 信号
在 Python 中,我们通过按下键盘上的 Ctrl+C 快捷键可以中断程序的运行,但是在某些情况下,我们希望程序在收到 Ctrl+C 信号后进行一些特殊的处理,而非直接退出或崩溃。这就需要捕获 Ctrl+C 信号,并在捕获到信号后执行自定义的处理函数。
Ctrl+C 信号是什么
在 Linux 和 Unix 系统中,SIGINT
是一个由操作系统发送给进程的信号,它的作用是通知进程中断程序的执行。而在 Windows 系统中,Ctrl+C 信号的处理方式并不完全相同,但我们可以通过库来实现类似的功能。
如何捕获 Ctrl+C 信号
在 Python 中,我们可以使用 signal
模块来捕获 Ctrl+C 信号。具体实现步骤如下:
- 导入
signal
模块 - 定义一个自定义的信号处理函数
- 使用
signal.signal(signal.SIGINT, signal_handler)
将自定义的信号处理函数与 SIGINT 信号关联起来 - 在程序执行过程中,等待用户输入 Ctrl+C 信号
import signal
def signal_handler