#tokio #child-process #pty #interact #pseudotty #pseudo-tty

tokio-pty-process

通过伪终端异步使用Tokio与子进程交互

6个版本 (3个为破坏性更新)

使用旧的Rust 2015

0.4.0 2019年6月5日
0.3.2 2019年4月17日
0.3.1 2018年12月29日
0.3.0 2018年10月11日
0.1.0 2018年5月27日

Unix APIs 中排名798

Download history 141/week @ 2024-03-14 193/week @ 2024-03-21 298/week @ 2024-03-28 415/week @ 2024-04-04 706/week @ 2024-04-11 946/week @ 2024-04-18 1210/week @ 2024-04-25 1011/week @ 2024-05-02 818/week @ 2024-05-09 1044/week @ 2024-05-16 762/week @ 2024-05-23 906/week @ 2024-05-30 737/week @ 2024-06-06 876/week @ 2024-06-13 798/week @ 2024-06-20 538/week @ 2024-06-27

每月下载量3,051
4 个crate中使用 (3个直接使用)

MIT/Apache许可证

33KB
512 行代码

tokio-pty-process

启动一个连接到伪终端的子进程,并通过Tokio异步与之交互。

此代码基本上是tokio-processpty-rs的组合。它更加强调前者。

该项目归其作者所有,并许可以下之一:

任您选择。

贡献

除非您明确表示,否则您提交给tokio-pty-process的任何有意贡献,根据Apache-2.0许可证的定义,都应如上所述双许可,没有任何附加条款或条件。


lib.rs:

在伪终端下启动子进程,并通过Tokio异步与之交互。

伪终端(或“伪-TTY”或“PTY”)是一种特殊的Unix文件句柄,它模拟用户过去用来与计算机交互的文本终端。PTY使各种面向用户的Unix程序可以利用的一种双向进程间通信形式。

使用此crate的基本方式是

  1. 创建一个用于处理所有异步 I/O 的 Tokio Reactor
  2. 创建一个表示操作系统伪终端所有权的 AsyncPtyMaster
  3. 使用您的主设备以及 CommandExt 扩展特质中的 spawn_pty_asyncspawn_pty_async_raw 函数,该特质扩展了 std::process::Command 类型,以启动一个与您的主设备相连的子进程。
  4. 可选地,通过该函数返回的 Child 值来控制子进程(例如发送信号)。

此软件包仅适用于 Unix 系统,因为伪终端是 Unix 系统特有的概念。

Child 类型主要复制自 Alex Crichton 的 tokio-process 软件包。

依赖项

~6MB
~91K SLoC