Как обрабатывать сигналы ОС в Python?

Senior
113 просмотров
AFK Offer AI

signal.signal(signal.SIGTERM, handler_func) — регистрирует обработчик. SIGTERM — запрос завершения (docker stop, kill). SIGINT — Ctrl+C (KeyboardInterrupt). SIGUSR1/SIGUSR2 — кастомные (ротация логов, reload конфига). Handler вызывается в главном потоке. В asyncio: loop.add_signal_handler(SIGTERM, callback) — не блокирует loop. Для graceful shutdown: set Event в handler, в main loop await event.wait(). На Windows: только SIGTERM, SIGINT, SIGBREAK. signal.alarm(seconds) — таймер (только Unix).

Следующий вопрос

Что такое frame objects в Python?