How to fix Pod grace period exceeded, force killing pod in Kubernetes
Pod termination exceeds the grace period timeout when containers ignore SIGTERM, processes hang during shutdown, or finalization takes too long. Pods force-terminate without graceful cleanup.
Quick fix
Fixes Pod grace period exceeded, force killing pod
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
# Pod grace period exceeded, force killing podPod grace period exceeded, force killing pod
What this error means
Kubernetes sends SIGTERM to pods during shutdown (termination). The grace period (default 30 seconds) is the time allowed for graceful shutdown. If the pod does not terminate within this window, Kubernetes force-kills it (SIGKILL). This error indicates your application is not handling SIGTERM properly or takes longer than the grace period to shut down cleanly.
Typical symptoms
- Pods show "Terminating" status for extended periods
- Error logs: "Pod grace period exceeded, force killing"
- Application logs show no graceful shutdown sequence
- Kubernetes events show force deletion warnings
- Database connections lost abruptly without cleanup
- Deployment rollouts stall during termination
- Job pods terminate ungracefully without saving state
Common causes
- Application not handling SIGTERM signal (only responding to SIGKILL)
- Grace period too short for application shutdown (database flushes, file closes, etc.)
- Infinite loops or deadlocks in shutdown handlers
- Long-running requests not cancelling during shutdown
- init processes in containers masking signals
- finalizers on objects blocking pod deletion
- Sidecar containers (logging, monitoring) hanging during shutdown
How to fix "Pod grace period exceeded, force killing pod"
First diagnostic step
Second diagnostic step
Third diagnostic step
Fourth diagnostic step
Fifth diagnostic step
Advanced notes
Additional notes and platform-specific considerations.
Frequently asked questions
- What does "Pod grace period exceeded, force killing pod" mean?
- Kubernetes sends SIGTERM to pods during shutdown (termination). The grace period (default 30 seconds) is the time allowed for graceful shutdown. If the pod does not terminate within this window, Kubernetes force-kills it (SIGKILL).
- How do I fix "Pod grace period exceeded, force killing pod"?
- Pod termination exceeds the grace period timeout when containers ignore SIGTERM, processes hang during shutdown, or finalization takes too long. Pods force-terminate without graceful cleanup.
- What causes "Pod grace period exceeded, force killing pod"?
- Application not handling SIGTERM signal (only responding to SIGKILL) Grace period too short for application shutdown (database flushes, file closes, etc.) Infinite loops or deadlocks in shutdown handlers
- Is the "Pod grace period exceeded, force killing pod" error serious?
- Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.
Official resources & further reading
- ๐Kubernetes Official Documentation
- ๐Kubernetes API Reference(Official Docs)
- ๐Kubernetes Tasks: Run Applications(Official Docs)
- ๐ฌStack Overflow: Kubernetes grace period exceeded(Stack Overflow)
- ๐Kubernetes GitHub Issues(GitHub)