pub struct ExitStatus(ExitStatus);
Expand description
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
or
ExitStatusError
using their implementations of Display
.
§Differences from ExitCode
ExitCode
is intended for terminating the currently running process, via
the Termination
trait, in contrast to ExitStatus
, which represents the
termination of a child process. These APIs are separate due to platform
compatibility differences and their expected usage; it is not generally
possible to exactly reproduce an ExitStatus
from a child for the current
process after the fact.
Tuple Fields§
§0: ExitStatus
Implementations§
Source§impl ExitStatus
impl ExitStatus
Sourcepub fn exit_ok(&self) -> Result<(), ExitStatusError>
🔬This is a nightly-only experimental API. (exit_status_error
#84908)
pub fn exit_ok(&self) -> Result<(), ExitStatusError>
exit_status_error
#84908)Was termination successful? Returns a Result
.
§Examples
1.0.0 · Sourcepub fn success(&self) -> bool
pub fn success(&self) -> bool
Was termination successful? Signal termination is not considered a success, and success is defined as a zero exit status.
§Examples
1.0.0 · Sourcepub fn code(&self) -> Option<i32>
pub fn code(&self) -> Option<i32>
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
Trait Implementations§
Source§impl AsInner<ExitStatus> for ExitStatus
impl AsInner<ExitStatus> for ExitStatus
fn as_inner(&self) -> &ExitStatus
1.0.0 · Source§impl Clone for ExitStatus
impl Clone for ExitStatus
Source§fn clone(&self) -> ExitStatus
fn clone(&self) -> ExitStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more1.0.0 · Source§impl Debug for ExitStatus
impl Debug for ExitStatus
1.73.0 · Source§impl Default for ExitStatus
The default value is one which indicates successful completion.
impl Default for ExitStatus
The default value is one which indicates successful completion.
1.0.0 · Source§impl Display for ExitStatus
impl Display for ExitStatus
1.0.0 · Source§impl Eq for ExitStatus
impl Eq for ExitStatus
#[doc(hidden)] fn assert_receiver_is_total_eq(&self)
1.0.0 · Source§impl ExitStatusExt for ExitStatus
Available on Unix only.
impl ExitStatusExt for ExitStatus
Source§fn from_raw(raw: i32) -> Self
fn from_raw(raw: i32) -> Self
ExitStatus
or ExitStatusError
from the raw underlying integer status
value from wait
Read moreSource§fn signal(&self) -> Option<i32>
fn signal(&self) -> Option<i32>
Source§fn core_dumped(&self) -> bool
fn core_dumped(&self) -> bool
Source§fn stopped_signal(&self) -> Option<i32>
fn stopped_signal(&self) -> Option<i32>
1.12.0 · Source§impl ExitStatusExt for ExitStatus
Available on Windows only.
impl ExitStatusExt for ExitStatus
Source§impl From<ExitStatusError> for ExitStatus
impl From<ExitStatusError> for ExitStatus
Source§fn from(error: ExitStatusError) -> Self
fn from(error: ExitStatusError) -> Self
Source§impl FromInner<ExitStatus> for ExitStatus
impl FromInner<ExitStatus> for ExitStatus
fn from_inner(s: ExitStatus) -> ExitStatus
1.0.0 · Source§impl PartialEq for ExitStatus
impl PartialEq for ExitStatus
impl Copy for ExitStatus
impl Sealed for ExitStatus
Allows extension traits within std
.
impl StructuralPartialEq for ExitStatus
Auto Trait Implementations§
impl Freeze for ExitStatus
impl RefUnwindSafe for ExitStatus
impl Send for ExitStatus
impl Sync for ExitStatus
impl Unpin for ExitStatus
impl UnwindSafe for ExitStatus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
sized_type_properties
)[Self]
. Read more