Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python signal

作者:灭世杀   发布日期:2026-05-28   浏览:41

import signal
import time

# 定义一个处理信号的函数
def handle_signal(signum, frame):
    print(f"收到信号: {signum}")

# 注册信号处理函数,当接收到SIGINT (Ctrl+C) 时调用 handle_signal 函数
signal.signal(signal.SIGINT, handle_signal)

print("程序正在运行,按 Ctrl+C 发送 SIGINT 信号")

# 模拟长时间运行的任务
try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    print("程序被手动终止")

解释说明:

  1. 导入模块:我们首先导入了 signaltime 模块。
  2. 定义信号处理函数handle_signal 函数会在接收到指定信号时被调用,并打印出收到的信号编号。
  3. 注册信号处理函数:使用 signal.signal() 方法将 SIGINT 信号(通常是通过 Ctrl+C 触发)与 handle_signal 函数关联起来。
  4. 模拟长时间运行的任务:在 while True 循环中,程序会不断休眠一秒。如果用户按下 Ctrl+C,则会触发 SIGINT 信号,进而调用 handle_signal 函数。
  5. 异常处理:为了确保程序能够正常结束,我们在外层使用 try-except 捕获 KeyboardInterrupt 异常,并打印一条消息表示程序被手动终止。

这段代码展示了如何使用 Python 的 signal 模块来捕获和处理操作系统发送的信号。

上一篇:python判断列表为空

下一篇:python单元测试

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站