A simple easy to use wrapper around Ctrl-C signal.
```rust use std::sync::mpsc::channel; use ctrlc;
fn main() { let (tx, rx) = channel();
ctrlc::set_handler(move || tx.send(()).expect("Could not send signal on channel."))
.expect("Error setting Ctrl-C handler");
println!("Waiting for Ctrl-C...");
rx.recv().expect("Could not receive from channel.");
println!("Got it! Exiting...");
} ```
cargo build --examples && target/debug/examples/readme_example
Add CtrlC to Cargo.toml using termination
feature and CtrlC will handle SIGINT, SIGTERM and SIGHUP.
[dependencies]
ctrlc = { version = "3.0", features = ["termination"] }
Licensed under either of * Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.