我正在编写一个启动多个进程和数据库连接的 python 脚本。时不时我想用 Ctrl+C 信号终止脚本,我想做一些清理工作。
在 Perl 中我会这样做:
$SIG{'INT'} = 'exit_gracefully';
sub exit_gracefully {
print "Caught ^C \n";
exit (0);
}
如何在 Python 中进行类似的操作?
最佳答案
使用 signal.signal
注册您的处理程序,如下所示:
#!/usr/bin/env python
import signal
import sys
def signal_handler(sig, frame):
print('You pressed Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
代码改编自 here .
更多关于 signal
的文档可以在 here 找到.
关于python - 如何在 Python 中捕获 SIGINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112343/