Module std::process1.0.0 [] [src]

A module for working with processes.

Examples

Basic usage where we try to execute the cat shell command:

use std::process::Command;

let mut child = Command::new("/bin/cat")
                        .arg("file.txt")
                        .spawn()
                        .expect("failed to execute child");

let ecode = child.wait()
                 .expect("failed to wait on child");

assert!(ecode.success());Run

Calling a command with input and reading its output:

use std::process::{Command, Stdio};
use std::io::Write;

let mut child = Command::new("/bin/cat")
    .stdin(Stdio::piped())
    .stdout(Stdio::piped())
    .spawn()
    .expect("failed to execute child");

{
    // limited borrow of stdin
    let stdin = child.stdin.as_mut().expect("failed to get stdin");
    stdin.write_all(b"test").expect("failed to write to stdin");
}

let output = child
    .wait_with_output()
    .expect("failed to wait on child");

assert_eq!(b"test", output.stdout.as_slice());Run

Structs

Child

Representation of a running or exited child process.

ChildStderr

A handle to a child process's stderr.

ChildStdin

A handle to a child process's standard input (stdin).

ChildStdout

A handle to a child process's standard output (stdout).

Command

A process builder, providing fine-grained control over how a new process should be spawned.

ExitStatus

Describes the result of a process after it has terminated.

Output

The output of a finished process.

Stdio

Describes what to do with a standard I/O stream for a child process when passed to the stdin, stdout, and stderr methods of Command.

Functions

abort

Terminates the process in an abnormal fashion.

exit

Terminates the current process with the specified exit code.