What signal does Kubernetes send to a container's main process when a Pod is being terminated?
ASIGTERM — the standard termination signal sent to PID 1 inside the container, giving the process a chance to shut down gracefully
BSIGKILL — the immediate termination signal sent to PID 1 inside the container, stopping the process without any cleanup window
CSIGINT — the interrupt signal sent to PID 1 inside the container, equivalent to a Ctrl+C initiated by the kubelet process
DSIGHUP — the hangup signal sent to PID 1 inside the container, indicating the controlling terminal session has ended
Why this is the answer
Kubernetes sends SIGTERM, not SIGKILL. SIGKILL is only used as a last resort after the grace period expires. The signal goes to PID 1 in the container — if that's a shell wrapper instead of your app, the app never receives it.