#io-read #process #reader #proc #x86-64 #command

proc-reader

其他进程的 stdout/stderr 的 std::io::Read 实现

11 个版本

0.5.1 2023年5月16日
0.5.0 2020年11月25日
0.4.0 2018年4月25日
0.3.1 2018年4月22日
0.1.2 2018年4月9日

#268命令行界面

41 每月下载量
用于 pipecolor

MIT 许可证

29KB
745

proc-reader

Build Status Crates.io Docs.rs codecov

其他进程的 stdout/stderr 的 std::io::Read 实现

文档

用法

[dependencies]
proc-reader = "0.5.1"

支持平台

  • x86_64-unknown-linux-gnu
  • x86_64-unknown-linux-musl
  • i686-unknown-linux-gnu
  • i686-unknown-linux-musl

示例

extern crate proc_reader;
use proc_reader::ProcReader;
use std::process::Command;
use std::io::Read;
use std::time::Duration;
use std::thread;

fn main() {
    // Create a process for reading stdout
    let child = Command::new("sh").arg("-c").arg("sleep 1; echo aaa").spawn().unwrap();

    // Create ProcReader from pid
    let mut reader = ProcReader::from_stdout(child.id());

    // Wait the end of process
    thread::sleep(Duration::from_secs(2));

    // Read from ProcReader
    let mut line = String::new();
    let _ = reader.read_to_string(&mut line);
    assert_eq!( "aaa\n", line);
}

依赖

~1.8–3.5MB
~69K SLoC