std::process
Module std::process
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());
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());
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 stdin. This struct is used in the |
ChildStdout | A handle to a child process's stdout. This struct is used in the |
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. |
Functions
abort | Terminates the process in an abnormal fashion. |
exit | Terminates the current process with the specified exit code. |
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/process/index.html