```rust use std::os::fd::{AsRawFd, FromRawFd}; use pty_exec::Pty;
// spawn Pty let pty = Pty::spawn(move |_fd, res| { println!("{}", res.unwrap()); }, move |fd| { println!("{fd} died"); })?;
// (optional) create new pty, this maintains the onread and ondeath callbacks // this means a RawFd can be passed to client like in a tauri app let pty = unsafe { Pty::fromrawfd(pty.asrawfd()) };
// write to original pty with new pty fromrawfd pty.write("echo 'Hello, World'\r")?;
pty.kill(); ```