在Python中捕获SIGINT信号
在Python中,处理像SIGINT(按Ctrl C生成)这样的信号可以通过信号来实现模块。此模块提供了用于管理 Python 程序中的信号的综合 API。
要捕获 SIGINT 信号并执行自定义清理操作,请按照以下步骤操作:
import signal import sys def signal_handler(sig, frame): print('You pressed Ctrl+C!') # Perform any necessary cleanup tasks هنا sys.exit(0) signal.signal(signal.SIGINT, signal_handler) print('Press Ctrl+C') signal.pause()
在此脚本中, signal_handler 函数定义为 SIGINT 信号的处理程序。当按下 Ctrl C 时,将调用此函数,该函数会打印一条消息以指示已收到信号。然后,您可以在此函数中包含任何必要的清理代码,例如关闭数据库连接或终止子进程。
signal.signal 函数用于将 signal_handler 函数注册为 SIGINT 的处理程序。 signal.pause() 函数暂停脚本的执行,直到收到信号,并暂停所有其他操作,直到用户按下 Ctrl C。
这种方法允许您在 Python 脚本中优雅地处理 SIGINT,执行终止程序之前的自定义清理任务。有关更多信息和文档,请参阅代码中提供的链接。
以上是如何在我的 Python 程序中优雅地处理 Ctrl C 中断 (SIGINT)?的详细内容。更多信息请关注PHP中文网其他相关文章!