概要 net/httpパッケージのServer.Shutdownを利用しているのになぜかGraceful Shutdownされないことがあったので、原因と対策をまとめました。 GracefulにShutdownしない実装 以下のコードを実行し、ブラウザから http://localhost:8080/ にアクセスすると5秒後に「hello world」と表示されます。 ブラウザから http://localhost:8080/ にアクセスした直後にCtrl+Cでプログラムを終了すると、GracefulにShutdownするなら「hello world」と表示されるはずですが、実際は表示されません。 package main import ( "context" "io" "log" "net/http" "os" "os/signal" "time" ) func main() { ctx