Crate pty_process[][src]

This crate adds a helper method to std::process::Command (and optionally its equivalent in various async frameworks) to allocate a pty to spawn the process into. This allows for manipulation of interactive programs.

The basic functionality is provided by the Command trait in this crate:

use pty_process::Command as _;

let mut cmd = std::process::Command::new("nethack");
let child = cmd.spawn_pty(Some(&pty_process::Size::new(24, 80))).unwrap();

The child instance returned by the call to spawn_pty is a thin wrapper around the Child struct associated with the Command module used. You can use it identically to how you would use the normal std::process::Child instance, but it also provides additional methods for interacting with the pty:

use std::io::Write as _;

child.pty().write_all(b"foo\n").unwrap();
child.resize_pty(&pty_process::Size::new(30, 100)).unwrap();
let status = child.wait().unwrap();

The available implementations are gated by features:

Any number of backends may be enabled, depending on your needs.

Modules

std

Structs

Child

Wrapper struct adding pty methods to the normal Child struct.

Size

Represents the size of the pty.

Enums

Error

Error type for this crate

Traits

Command

Adds methods to the existing Command struct.

Type Definitions

Result

Convenience wrapper for Results using Error