#子进程 #子进程 #stdout #tokio #模块 # #

tokio-process-bits

一组模块,用于开发基于 Tokio 的应用程序并启动子进程时非常有用

4 个版本

使用旧的 Rust 2015

0.1.4 2017 年 12 月 29 日
0.1.3 2017 年 12 月 29 日
0.1.2 2017 年 12 月 29 日
0.1.0 2017 年 12 月 26 日

#7#子进程

Apache-2.0 许可

7KB

tokio-process-bits

探索 tokio-process 异步管道 io

此示例展示了如何以异步方式读取子进程的 stdout,作为行的流。

运行示例将产生类似以下内容:

$ cargo run --example simple

LINE: [CHILD 88187] PING 127.0.0.1 (127.0.0.1): 56 data bytes
LINE: [CHILD 88187] 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.123 ms
LINE: [CHILD 88187] 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.110 ms
LINE: [CHILD 88188] PING 0.0.0.0 (0.0.0.0): 56 data bytes
LINE: [CHILD 88188] Request timeout for icmp_seq 0
LINE: [CHILD 88188] Request timeout for icmp_seq 1
LINE: [CHILD 88187] 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.113 ms

我主要构建这个示例是为了探索异步读取子进程的 stdout,以便我可以从单线程的 Web 服务中运行这样的子进程。也就是说:我想在读取子进程 stdout 的同时处理 Web 请求。


lib.rs:

该软件包是一组模块,用于在启动子进程时与 Tokio 一起使用。

依赖关系

~6MB
~95K SLoC