Struct async_std::process::ExitStatus1.0.0[][src]

pub struct ExitStatus(_);

Describes the result of a process after it has terminated.

This struct is used to represent the exit status or other termination of a child process. Child processes are created via the Command struct and their exit status is exposed through the status method, or the wait method of a Child process.

An ExitStatus represents every possible disposition of a process. On Unix this is the wait status. It is not simply an exit status (a value passed to exit).

For proper error reporting of failed processes, print the value of ExitStatus using its implementation of Display.

Implementations

impl ExitStatus[src]

pub fn success(&self) -> bool[src]

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

Examples

use std::process::Command;

let status = Command::new("mkdir")
                     .arg("projects")
                     .status()
                     .expect("failed to execute mkdir");

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

pub fn code(&self) -> Option<i32>[src]

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 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 std::process::Command;

let status = Command::new("mkdir")
                     .arg("projects")
                     .status()
                     .expect("failed to execute mkdir");

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

Trait Implementations

impl Clone for ExitStatus[src]

impl Copy for ExitStatus[src]

impl Debug for ExitStatus[src]

impl Display for ExitStatus[src]

impl Eq for ExitStatus[src]

impl ExitStatusExt for ExitStatus[src]

impl PartialEq<ExitStatus> for ExitStatus[src]

impl StructuralEq for ExitStatus[src]

impl StructuralPartialEq for ExitStatus[src]

Auto Trait Implementations

impl RefUnwindSafe for ExitStatus

impl Send for ExitStatus

impl Sync for ExitStatus

impl Unpin for ExitStatus

impl UnwindSafe for ExitStatus

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.