在脚本中捕获脚本的Ctrl-C(即SIGINT信号),是一种常见的需求,尤其是在需要优雅地关闭脚本或执行清理操作时。以下是关于这个问题的基础概念、优势、类型、应用场景以及解决方案。
以下是一个使用Python捕获SIGINT信号的示例:
import signal
import time
def signal_handler(sig, frame):
print('捕获到SIGINT信号,正在退出...')
# 在这里执行清理操作
exit(0)
signal.signal(signal.SIGINT, signal_handler)
print('脚本开始运行,按Ctrl-C退出...')
while True:
time.sleep(1)
signal
和time
模块。signal_handler
的函数,该函数将在捕获到SIGINT信号时被调用。signal.signal()
函数设置SIGINT信号的处理函数为signal_handler
。通过这种方式,脚本可以在捕获到Ctrl-C时执行必要的清理操作,从而优雅地退出。
领取专属 10元无门槛券
手把手带您无忧上云