Sobes.tech
Middle
53

ჩვენ გვაქვს FastAPI აპლიკაცია, სადაც არის გამორთვის (shutdown) მოვლენა, რომელიც ახორციელებს გარკვეულ ლოგიკას. თუ ჩვენ გავაჩერებთ აპლიკაციას სიგნალით -9 (kill -9), შესრულდება თუ არა გამორთვა?

კომპანიებმა სადაც სთხოვეს
СБЕРСБЕР

პასუხი AI-სგან

sobes.tech AI

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

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

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