Что такое signal handling?

Middle
679 просмотров
AFK Offer AI

Signal handling — обработка системных сигналов, которые ОС отправляет процессу. Основные: SIGTERM (завершись корректно), SIGINT (Ctrl+C), SIGKILL (убить немедленно, нельзя перехватить). В Go подписываешься через signal.Notify(ch, syscall.SIGTERM, syscall.SIGINT). Создаёшь канал, ждёшь на нём сигнала, при получении — graceful shutdown: перестаёшь принимать новые запросы, дожидаешься завершения текущих, закрываешь соединения с базой, выходишь. Без обработки сигналов процесс убивается мгновенно, и текущие запросы обрываются на полуслове.

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

Что такое пакеты?