Struct expectrl::Session [−][src]
pub struct Session { /* fields omitted */ }
Expand description
Session represents a process and its streams. It controlls process and communication with it.
Implementations
Expect waits until a pattern is matched.
It return error if expect_timeout is reached.
Set the pty session’s expect timeout.
Methods from Deref<Target = PtyProcess>
Returns a file representation of a PTY, which can be used to communicate with it.
use ptyprocess::PtyProcess; use std::{process::Command, io::{BufReader, LineWriter}}; let mut process = PtyProcess::spawn(Command::new("cat")).unwrap(); let pty = process.get_pty_handle().unwrap(); let mut writer = LineWriter::new(&pty); let mut reader = BufReader::new(&pty);
Get window size of a terminal.
Default is size is 80x24.
Sets a terminal size
Waits until a echo settings were setup
Get_echo returns true if an echo setting is setup.
Set the pty process’s terminate approach delay.
Status returns a status a of child process.
Kill sends a signal to a child process.
The operation is non-blocking.
Wait blocks until a child process exits.
It returns a error if the child was DEAD or not exist
at the time of a call.
So sometimes it’s better to use a is_alive
method
Checks if a process is still exists.
It’s a non blocking operation. It’s takes in mind errors which indicates that the child is gone.
Try to force a child to terminate.
It starts nicely with SIGHUP, SIGCONT, SIGINT, SIGTERM. If “force” is True then moves onto SIGKILL.
This returns true if the child was terminated. and returns false if the child could not be terminated.
Send writes a string to a STDIN of a child.
Send writes a line to a STDIN of a child.
Send controll character to a child process.
Trait Implementations
type Target = PtyProcess
type Target = PtyProcess
The resulting type after dereferencing.
Auto Trait Implementations
impl RefUnwindSafe for Session
impl UnwindSafe for Session