use ptyprocess::PtyProcess;
use std::io::{BufRead, BufReader, Result, Write};
use std::process::Command;
fn main() -> Result<()> {
let mut process = PtyProcess::spawn(Command::new("cat"))?;
let mut stream = process.get_raw_handle()?;
writeln!(stream, "Hello cat")?;
let mut reader = BufReader::new(stream);
let mut buf = String::new();
reader.read_line(&mut buf)?;
println!("line was entered {buf:?}");
assert!(process.exit(true)?);
Ok(())
}