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("程序被手动终止")
signal 和 time 模块。handle_signal 函数会在接收到指定信号时被调用,并打印出收到的信号编号。signal.signal() 方法将 SIGINT 信号(通常是通过 Ctrl+C 触发)与 handle_signal 函数关联起来。while True 循环中,程序会不断休眠一秒。如果用户按下 Ctrl+C,则会触发 SIGINT 信号,进而调用 handle_signal 函数。try-except 捕获 KeyboardInterrupt 异常,并打印一条消息表示程序被手动终止。这段代码展示了如何使用 Python 的 signal 模块来捕获和处理操作系统发送的信号。
上一篇:python判断列表为空
下一篇:python单元测试
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站