首页 > 后端开发 > Python教程 > 如何在 Python 中优雅地处理 Ctrl C 中断 (SIGINT)?

如何在 Python 中优雅地处理 Ctrl C 中断 (SIGINT)?

Linda Hamilton
发布: 2024-12-18 12:00:18
原创
209 人浏览过

How Can I Gracefully Handle Ctrl C Interrupts (SIGINT) in Python?

在 Python 中处理 SIGINT 信号

在 Python 中,您可以响应 SIGINT 信号(通过按 Ctrl 生成)C)通过利用 signal.signal 函数。该函数注册一个处理函数,该函数将在收到指定信号时执行。下面是一个示例,演示如何实现与提供的 Perl 代码相同的功能:

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()
登录后复制

在上面的代码中:

  • signal_handler 是注册的处理函数。当收到 SIGINT 信号时,将调用此函数并打印一条消息以指示按下了 Ctrl C。然后退出脚本。
  • signal.signal 将 signal_handler 函数注册为 SIGINT 的处理程序。
  • print('Press Ctrl C') 向控制台打印一条消息,要求用户按下Ctrl C.
  • signal.pause() 进入事件循环并等待信号传递。当收到 SIGINT 时,执行 signal_handler 函数,然后脚本退出。

此代码提供了一种有效的方法,可以在 Python 中优雅地处理 SIGINT 信号,并在退出脚本之前执行清理操作。

以上是如何在 Python 中优雅地处理 Ctrl C 中断 (SIGINT)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板