Spegnimento graduale (graceful shutdown)
Terminare un processo in modo pulito: smettere di accettare nuove richieste, attendere quelle in corso, rilasciare i lock, svuotare i buffer, chiudere le connessioni. Il contrario è il kill forzato (SIGKILL), che termina subito.
Segnali Unix: SIGTERM (richiesta cortese, predefinita in kill) → il processo fa pulizia → SIGKILL allo scadere del timeout. Ciclo di vita dei pod in Kubernetes: terminationGracePeriodSeconds (30 s predefiniti), hook preStop per pulizie personalizzate. Errori classici: ignorare SIGTERM (il processo si blocca), lasciare connessioni aperte (pool del database, Redis), richieste in corso che diventano 502. Buona pratica: prima svuotare il load balancer, poi terminare il processo. Connection draining e retry sono la coppia che garantisce deploy a zero downtime.