Status
ACTIVE - pre-1.0 stabilization. Current release: 0.9.x. API
freeze begins at 1.0.0-rc.1. See .dev/ROADMAP.md for the path
to 1.0.
What it does
Unified OS signal handling for Rust:
- One API for SIGTERM / SIGINT / SIGHUP / SIGQUIT / SIGPIPE /
SIGUSR1 / SIGUSR2 and Windows console control events
(
CTRL_C,CTRL_BREAK,CTRL_CLOSE,CTRL_SHUTDOWN). - Graceful shutdown orchestration with cloneable observer and initiator handles that you can pass independently up and down a supervision tree.
- Priority-ordered shutdown hooks with a configurable timeout ladder.
- Runtime-agnostic substrate with optional adapters for
tokioandasync-std, plus a synchronousctrlc-fallbackfor non-async code.
Quick start
use ;
use Duration;
async
See examples/graceful_shutdown.rs
for a complete runnable example, docs/API.md for
the offline API reference, and docs/MIGRATION.md
for upgrade paths.
Cargo features
| Feature | Default | Effect |
|---|---|---|
std |
yes | Enables std-dependent items. |
tokio |
yes | Spawns signal listeners on the tokio runtime. |
async-std |
no | Spawns signal listeners on async-std. |
ctrlc-fallback |
no | Adds synchronous ctrlc fallback for Coordinator::install. |
When both tokio and async-std are enabled, tokio wins.
MSRV
Rust 1.75. Bumps require a minor version increment and a
CHANGELOG.md ### Changed entry per REPS.md section 6.
License
Licensed under the Apache License, Version 2.0. See LICENSE
for the full text.
Copyright (C) 2026 James Gober.