项目文件夹

文件
2026-07-13 12:28:27 +08:00

23 行
670 B
Python

import signal
import sys
import time
import asyncio
class SignalHandler:
def __init__(self, callback):
self.last_time = time.time()
self.callback = callback
def __call__(self, signum, frame):
now = time.time()
if now - self.last_time > 1.0:
self.last_time = now
print(f"\n收到 {signal.Signals(signum).name},1秒内再次按下将会退出...")
else:
print(f"\n收到 {signal.Signals(signum).name},确认退出...\n")
self.last_time = 0
self.callback()
def register_signal(callback):
signal.signal(signal.SIGINT, SignalHandler(callback))