Struct std::process::ExitStatus 1.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]
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); }Run
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") }Run
Trait Implementations
impl Clone for ExitStatus
[src]
impl Clone for ExitStatus
[src]fn clone(&self) -> ExitStatus
[src]
pub fn clone_from(&mut self, source: &Self)
[src]
impl ExitStatusExt for ExitStatus
[src]
impl ExitStatusExt for ExitStatus
[src]impl ExitStatusExt for ExitStatus
1.12.0[src]
impl ExitStatusExt for ExitStatus
1.12.0[src]impl PartialEq<ExitStatus> for ExitStatus
[src]
impl PartialEq<ExitStatus> for ExitStatus
[src]fn eq(&self, other: &ExitStatus) -> bool
[src]
fn ne(&self, other: &ExitStatus) -> bool
[src]
impl Copy for ExitStatus
[src]
impl Eq 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> Borrow<T> for T where
T: ?Sized,
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
[src]
Notable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
[src]
Notable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W