编者按:这个问题针对的是1.0之前版本的Rust.一些答案已经更新,覆盖了Rust 1.0或更高版本,但不是全部.

我正在用Rust编写一个systemd套接字激活服务.我的进程正被systemd交给一个打开的文件描述符.

有没有采用原始文件描述符的Rust IO函数?

在Rust 1.0之前,我每晚都会使用Rust.

推荐答案

我认为现在你最好的 Select 可能是使用libc crate来处理原始文件描述符.

FileDesc转移到私有范围是几个月前删除运行时的后果.有关更多上下文,请参见此RFC.std::os::unix目前有Fd型,我相信长期的 idea 是在该模块中公开更多特定于平台的功能.

Rust相关问答推荐

为什么单元类型(空元组)实现了`Extend`trait?

为什么我需要在这个代码示例中使用&

如何导出 rust 色二进制文件中的符号

如何使用syn插入 comments ?

限制未使用的泛型导致编译错误

使用Clap时如何将String作为Into Str参数传递?

如何go 除铁 rust 中路径组件的第一项和最后一项?

你是如何在铁 rust 一侧的金牛座获得应用程序版本的?

如何为 struct 字段设置新值并在Ruust中的可变方法中返回旧值

Rust 的多态现象.AsRef与Derf

如何在函数中返回自定义字符串引用?

将一个泛型类型转换为另一个泛型类型

程序在频道RX上挂起

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

为什么特征默认没有调整大小?

如何将一个矩阵的列分配给另一个矩阵,纳尔代数?

如何在 Rust 中编写一个通用方法,它可以接受任何可以转换为另一个值的值?

没有明确地说return会产生错误:match arms have incompatible types

如何获得对数组子集的工作可变引用?

为什么 match 语句对引用类型比函数参数更挑剔?