espresso_utils/
shutdown.rs1use tokio::signal::unix::{SignalKind, signal};
4
5pub async fn wait_for_shutdown_signal() -> &'static str {
11 let mut interrupt = signal(SignalKind::interrupt()).expect("install SIGINT handler");
12 let mut terminate = signal(SignalKind::terminate()).expect("install SIGTERM handler");
13 let signal = tokio::select! {
14 _ = interrupt.recv() => "SIGINT",
15 _ = terminate.recv() => "SIGTERM",
16 };
17 tracing::warn!(signal, "received shutdown signal; shutting down gracefully");
18 signal
19}