Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: signal, sigterm, sigint, sigkill

Какие сигналы обрабатывать при завершении и почему SIGKILL не перехватывается?

Проверяет понимание механизма SIGKILL.

Короткий ответ

Обычно обрабатывают SIGTERM (корректное завершение) и SIGINT (Ctrl+C). SIGKILL нельзя перехватить или проигнорировать — ядро завершает процесс немедленно, поэтому на него нельзя опираться для graceful shutdown.

Длинный ответ

Определение: Сигналы — механизм ядра UNIX для уведомления процессов о событиях.

  • Что обрабатывать:

  • SIGTERM — «вежливое» завершение (по умолчанию оркестраторы посылают его);

  • SIGINT — прерывание с терминала (Ctrl+C).

  • Почему не SIGKILL:

  • SIGKILL нельзя перехватить, обработать или проигнорировать;

  • он немедленно прекращает процесс без шанса закрыть ресурсы.

  • Практика:

  • подписывайтесь на SIGTERM, SIGINT;

  • тестируйте локально Ctrl+C, в проде — остановки контейнера/юнита.

  • Вывод: настраивайте обработку SIGTERM/SIGINT; SIGKILL — аварийный стоп, планировать на нём логику нельзя.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Golang

    Golang

  • Linux

    Linux

Ключевые слова

#signal

#sigterm

#sigint

#sigkill

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.