如何在Python中捕获SIGINT?

我正在研究启动多个进程和数据库连接的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()

代码改编自此处。

以上是 如何在Python中捕获SIGINT? 的全部内容, 来源链接: utcz.com/qa/414667.html

回到顶部