#signal #signals #unix #sigint #sigterm

signal-msg

使用共享通道处理 UNIX 进程信号(使用 simple-signal)

3 个不稳定版本

0.2.1 2020年2月23日
0.2.0 2020年2月23日
0.1.0 2020年2月23日

Unix API 中排名 #828

MIT 许可证

6KB
65 行代码(不包括注释)

signal-msg

使用共享通道处理 UNIX 进程信号(使用 simple-signal)

关于

该项目旨在使简单的信号处理更加简单:只需使用消息。由于将对象传递给匿名函数信号处理器可能会变得复杂,因此 signal-msg 提供了在接收器上监听信号的替代方法。

创建此库是为了方便设置需要快速简单设置信号处理的示例,它提供了一种基于 simple-signal 库的消息解决方案。当使用 signal-hook 库时,可以得到更健壮(尽管也更冗长)的解决方案。

与 signal-msg 相似的功能由 signal-notifychan-signal 库提供(注意,后者已弃用)。

使用方法

use signal_msg::{self, SignalReceiver, SignalSender};

fn main() {
    let (signal_sender, signal_receiver) = signal_msg::new();
    signal_sender.prepare_signals();
    println!("Waiting for a signal...");
    let sig = signal_receiver.listen();
    println!("Got signal: {:?}", sig.unwrap());
}

致谢

项目标志是从 motorway 图标集中的 "signpost" 图标改编的,由 Freepik 提供。

许可证

版权所有 © 2020,Oxur Group

MIT 许可证

依赖关系

~51KB