Sobes.tech
Middle
47

Mūsų turime FastAPI programą su išjungimo (shutdown) įvykiu, kuris vykdo tam tikrą logiką. Jei užmušime programą su signalu -9 (kill -9), ar įvyks išjungimas?

Įmonės kur klausė
СБЕРСБЕР

Atsakymas iš AI

sobes.tech AI

Если приложение FastAPI убивается с помощью сигнала kill -9 (SIGKILL), то обработчик события shutdown не выполнится.

Причина в том, что SIGKILL — это сигнал немедленного завершения процесса, который нельзя перехватить или обработать. В отличие от SIGTERM (обычный сигнал завершения), который можно перехватить и выполнить очистку, SIGKILL прерывает процесс мгновенно.

Поэтому логика в app event shutdown не сработает при kill -9. Чтобы корректно завершить приложение и выполнить shutdown-логику, нужно использовать сигналы, которые можно обработать, например, kill -15 (SIGTERM).