Struct process::ExitStatus

Overview

The exit status from a completed child process

Methods

fn code(self) -> Option

Returns the exit code of the process, if any.

In Unix terms the return value is the exit status: the value passed to exit, if the process finished by calling exit. Note that on Unix the exit status is truncated to 8 bits, and that values that didn't come from a program's call to exit may be invented by the runtime system (often, for example, 255, 254, 127 or 126).

On Unix, this will return None if the process was terminated by a signal. ExitStatusExt is an extension trait for extracting any such signal, and other details, from the ExitStatus.

Examples

use process::Command;

let command = Command::new("mkdir");
command.arg("projects");

let status = command.status().await?;

match status.code() {
   Some(code) => println!("Exited with status code: {code}"),
   None => println!("Process terminated by signal")
}
fn success(self) -> bool

Was termination successful? Signal termination is not considered a success, and success is defined as a zero exit status.

Examples

use process::Command;

let command = Command::new("mkdir");
command.arg("projects");

let status = command.status()?;

if status.success() {
   println!("'projects/' directory created");
} else {
   println!("failed to create 'projects/' directory: {status}");
}

Protocols

protocol DISPLAY_FMT
format!("{}", value)

Allows the value to be display printed.

protocol DEBUG_FMT
format!("{:?}", value)

Allows the value to be debug printed.