我想写一些代码来捕捉信号,比如SIGTERM.

我找到了this个,也找到了How to handle blocking i/o in Rust, or long running external function calls in general个.

但在当前的 rust 迹版本(每晚0.12次)中,似乎std::io::signal::Listener次被删除.它被放在别的地方了吗?如果是这样的话,有人能告诉我如何捕捉信号吗?

推荐答案

我相信std::io::signal模块在this拉请求中被移除.据称,本机运行时从未正确实现正确的信号处理,因此您现在可能无法使用它.This似乎是这个问题的跟踪问题.

同时,我认为,你将不得不从libc个不安全函数降到最低级别.

Rust相关问答推荐

捕获Rust因C++异常而产生panic

将JSON密钥转换为Polars DataFrame

从Rust调用C++虚拟方法即使在成功执行之后也会引发Access违规错误

展开枚举变量并返回所属值或引用

如果成员都实现特征,是否在多态集合上实现部分重叠的特征?

关于如何初始化弱 struct 字段的语法问题

为什么实例方法可以像Rust中的静态方法一样被调用?

在自定义序列化程序中复制serde(With)的行为

当T不执行Copy时,如何返回Arc Mutex T后面的值?

正则表达式中的重叠匹配?(铁 rust 正则式发动机)

为什么比较Option<;字符串>;具有常数Option<&;str>;需要显式类型转换吗?

如何从宏调用闭包?

为什么编译器看不到这个 `From` impl?

Rust LinkedList 中的borrow 判断器错误的原因是什么?

如何在 Rust 中打印 let-else 语句中的错误?

Rust 中的内存管理

如何将这些测试放在一个单独的文件中?

以 `static` 为前缀的闭包是什么意思?我什么时候使用它?

深度嵌套枚举的清洁匹配臂

`if let` 只是另一种编写其他 `if` 语句的方式吗?