13 个版本
0.4.1 | 2023 年 3 月 6 日 |
---|---|
0.4.0 | 2023 年 3 月 5 日 |
0.3.0 | 2021 年 12 月 11 日 |
0.2.0 | 2021 年 10 月 7 日 |
0.1.9 | 2021 年 7 月 28 日 |
#338 在 命令行界面
8,952 每月下载量
用于 22 个 Crates (4 直接)
29KB
519 代码行
ptyprocess
此库提供了一个用于 Unix PTY/TTY 的接口。
它旨在在所有主要 Unix 变体上运行。
该库作为 https://github.com/zhiburt/expectrl 的后端开发。如果您对高级操作感兴趣,您可能最好看看 zhiburt/expectrl
。
使用方法
use ptyprocess::PtyProcess;
use std::io::{BufRead, BufReader, Result, Write};
use std::process::Command;
fn main() -> Result<()> {
// spawn a cat process
let mut process = PtyProcess::spawn(Command::new("cat"))?;
// create a communication stream
let mut stream = process.get_raw_handle()?;
// send a message to process
writeln!(stream, "Hello cat")?;
// read a line from the stream
let mut reader = BufReader::new(stream);
let mut buf = String::new();
reader.read_line(&mut buf)?;
println!("line was entered {buf:?}");
// stop the process
assert!(process.exit(true)?);
Ok(())
}
依赖项
~1.5MB
~35K SLoC