本文介绍了如何在Python中捕获SIGINT?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在研究一个python脚本,该脚本可以启动多个进程和数据库连接。我不时地想用 + 信号杀死脚本,我想进行一些清理。
I'm working on a python script that starts several processes and database connections. Every now and then I want to kill the script with a + signal, and I'd like to do some cleanup.
在Perl中,我会这样做:
In Perl I'd do this:
$SIG{'INT'} = 'exit_gracefully';
sub exit_gracefully {
print "Caught ^C \n";
exit (0);
}
我该如何在Python中做类似的事情?
How do I do the analogue of this in Python?
推荐答案
使用 signal.signal
注册处理程序,如下所示:
Register your handler with signal.signal
like this:
#!/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()
从。
有关信号
的更多文档可以在中找到。
More documentation on signal
can be found here.
这篇关于如何在Python中捕获SIGINT?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!