6 个稳定版本
使用旧的 Rust 2015
1.1.1 | 2018年3月21日 |
---|---|
1.1.0 | 2016年11月11日 |
1.0.6 | 2016年6月11日 |
1.0.5 | 2016年3月1日 |
1.0.4 | 2015年12月4日 |
#343 in 操作系统
23,045 每月下载量
用于 11 crates
9KB
159 行
simple-signal
Unix 进程信号处理的简单包装器。
示例用法
extern crate simple_signal;
use simple_signal::{self, Signal};
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
fn main() {
let running = Arc::new(AtomicBool::new(true));
let r = running.clone();
simple_signal::set_handler(&[Signal::Int, Signal::Term], move |_signals| {
r.store(false, Ordering::SeqCst);
});
println!("Waiting for a signal...");
while running.load(Ordering::SeqCst) {}
println!("Got it! Exiting...");
}
尝试运行示例
cargorun --examplereadme_example
构建
如果您使用的是夜间编译器,建议使用 cargo build --features nightly
构建,以避免对 lazy_static 的依赖。在稳定和beta编译器上,只需运行 cargo build
。
lib.rs
:
Unix 进程信号处理的简单包装器。
依赖
~46KB