2个稳定版本
3.2.2 | 2021年10月17日 |
---|
204 在 操作系统
855 每月下载量
在 8 crates 中使用
33KB
583 行
CtrlC
Ctrl-C 信号简单易用的包装器。
示例用法
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...");
}
亲自尝试示例
cargobuild --examples && target/debug/examples/readme_example
处理 SIGTERM 和 SIGHUP
使用 termination
功能将 CtrlC 添加到 Cargo.toml,CtrlC 将处理 SIGINT、SIGTERM 和 SIGHUP。
[dependencies]
ctrlc = { version = "3.0", features = ["termination"] }
许可证
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT) 由您选择。
贡献
除非您明确说明,否则您有意提交的任何贡献均将根据上述协议双许可,无需任何附加条款或条件。
依赖项
~4–16MB
~186K SLoC