`docker compose stop` and Kubernetes / Podman / systemd all send SIGTERM first; SIGINT is for interactive shells. Without a SIGTERM listener the container's stop-grace period elapses with the API still running, then SIGKILL skips the daemon shutdown path and leaks Chromium until the OS reaps the parent. Replace the bare `tokio::signal::ctrl_c()` with a select over ctrl_c and SignalKind::terminate() so the daemon.shutdown().await path runs in both cases. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
862 B
862 B