グレースフルシャットダウン【graceful shutdown】
概要
グレースフルシャットダウンとは、動作中のシステムやプロセスを停止する際に、進行中の処理を完了させてから安全に終了させる制御方式。時間はかかるが処理の中断やデータ喪失などの問題が起こりにくい。

処理の途中でシステムを強制終了させると、データの破損やファイルの不完全な書き込み、トランザクションの不整合といった問題が生じる恐れがある。グレースフルシャットダウンではこうした問題を避けるため、処理が一段落するまでシャットダウンを待機する。
停止命令を受けたシステムは、まず新規のリクエストや接続の受け付けを止める。既存の処理はそのまま継続させ、すべてが完了した時点でファイルやデータベースへの書き込みを確定し、ネットワーク接続を切断してから終了する。処理がいつまでも終わらない場合に備え、一定時間を過ぎると強制終了へ移行するタイムアウトを設けることが多い。
Webサービスの運用では、ロードバランサと連携して停止予定のサーバへの新規通信を遮断し、既存の利用者の処理だけを引き続き処理してから停止するという手順が一般的である。利用者は接続を途中で失うことなくサービスを利用し続けられる。
仮想化やコンテナ環境の普及により、この制御の重要性は増している。KubernetesではPodの停止時に既定で30秒の猶予時間が設けられており、その間にアプリケーションが終了処理を済ませられるよう設計することが推奨されている。仮想マシンやコンテナの追加・入れ替えが自動で頻繁に行われる環境において、稼働中の処理を損なわずに個々のコンポーネントを切り離す上で不可欠な仕組みとなっている。
(2026.7.12更新)