По порядку Middle Процессы и сигналы обновлено

Порядок остановки сервиса

Вопрос

Расставь шаги корректной остановки сервиса через systemd по порядку.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Приложение выходит с кодом 0
  2. 2
    Приложение перестаёт принимать новые запросы
  3. 3
    systemd отправляет главному процессу SIGTERM
  4. 4
    Если процесс не вышел за TimeoutStopSec, systemd отправляет SIGKILL оставшимся процессам
  5. 5
    Приложение дожидается текущих запросов и закрывает соединения с БД
Показать ответ и разбор

Коротко

Сначала мягкий сигнал, затем приложение само сворачивается: закрывает вход, доделывает работу, освобождает ресурсы и выходит. SIGKILL это страховка на случай зависания, он приходит только по истечении таймаута.

Правильный порядок

  1. 1
    systemd отправляет главному процессу SIGTERM
  2. 2
    Приложение перестаёт принимать новые запросы
  3. 3
    Приложение дожидается текущих запросов и закрывает соединения с БД
  4. 4
    Приложение выходит с кодом 0
  5. 5
    Если процесс не вышел за TimeoutStopSec, systemd отправляет SIGKILL оставшимся процессам

Разбор

Сначала мягкий сигнал, затем приложение само сворачивается: закрывает вход, доделывает работу, освобождает ресурсы и выходит. SIGKILL это страховка на случай зависания, он приходит только по истечении таймаута.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.