2个稳定版本

1.2.2 2023年7月5日
1.2.1 2023年6月27日

#238 in Windows API

Download history • Rust 包仓库 2948/week @ 2024-03-31 • Rust 包仓库 2735/week @ 2024-04-07 • Rust 包仓库 2686/week @ 2024-04-14 • Rust 包仓库 2629/week @ 2024-04-21 • Rust 包仓库 3831/week @ 2024-04-28 • Rust 包仓库 3428/week @ 2024-05-05 • Rust 包仓库 3980/week @ 2024-05-12 • Rust 包仓库 3665/week @ 2024-05-19 • Rust 包仓库 3617/week @ 2024-05-26 • Rust 包仓库 4072/week @ 2024-06-02 • Rust 包仓库 3485/week @ 2024-06-09 • Rust 包仓库 4059/week @ 2024-06-16 • Rust 包仓库 3977/week @ 2024-06-23 • Rust 包仓库 2886/week @ 2024-06-30 • Rust 包仓库 2238/week @ 2024-07-07 • Rust 包仓库 2374/week @ 2024-07-14 • Rust 包仓库

11,737 每月下载量
25 个crate中使用 (直接使用2个)

MIT/Apache

455KB
8K SLoC

Interprocess

Crates.io Docs.rs Build Status maintenance-status

Rust程序进程间通信工具包。该crate旨在尽可能多地暴露平台特定功能,同时为所有平台保持统一的接口。

功能

进程间通信原语

interprocess 提供了针对IPC的OS特定接口和跨平台的抽象。

跨平台IPC API

  • 本地套接字 – 类似于TCP套接字,但根据操作系统使用文件系统或命名空间路径而不是 localhost 上的端口,完全绕过网络栈;在Windows上使用命名管道实现,在Unix上使用Unix域套接字

平台特定,但在Unix-like系统和Windows上都有

  • 匿名管道 – 用于单向私下通信的匿名文件类对象,最常用于在父子进程之间通信
  • 信号 – Windows上的C信号,Unix-like OS上的POSIX信号 (已弃用)

Unix专用

  • FIFO文件 – 一种特殊的文件类型,类似于匿名管道,但存在于文件系统中,通常被称为“命名管道”,但与Windows命名管道完全不同
  • Unix域套接字 – 一种围绕标准网络API构建的套接字类型,但使用文件系统路径而不是 localhost 上的端口,在Linux上可选地使用类似于Windows命名管道的单独命名空间

Windows专用

  • 命名管道 – 与Unix域套接字非常相似,使用单独的命名空间而不是驱动器路径

异步I/O

目前仅支持Tokio的本地套接字、Unix域套接字和Windows命名管道。计划支持 async-std

功能门

  • signals,默认开启 – 启用对POSIX信号和C信号的支持。会引入额外的依赖。
  • tokio_support,默认关闭 – 启用对Tokio驱动的有效异步IPC的支持。不能简单地命名为 tokio 因为Cargo的限制。
  • nonblocking,默认启用 - 已弃用并将被移除,请勿使用。

许可证

此软件包及其所有社区贡献均采用MIT许可证Apache 2.0许可证的双重许可。

依赖项

~0-9MB
~70K SLoC