Trait std::os::unix::process::ExitStatusExt

1.0.0· source · []
pub trait ExitStatusExt: Sealed {
    fn from_raw(raw: i32) -> Self;
fn signal(&self) -> Option<i32>;
fn core_dumped(&self) -> bool;
fn stopped_signal(&self) -> Option<i32>;
fn continued(&self) -> bool;
fn into_raw(self) -> i32; }
This is supported on Unix only.
Expand description

Unix-specific extensions to process::ExitStatus and ExitStatusError.

On Unix, ExitStatus does not necessarily represent an exit status, as passed to the _exit system call or returned by ExitStatus::code(). It represents any wait status as returned by one of the wait family of system calls.

A Unix wait status (a Rust ExitStatus) can represent a Unix exit status, but can also represent other kinds of process event.

This trait is sealed: it cannot be implemented outside the standard library. This is so that future additional methods are not breaking changes.

Required methods

Creates a new ExitStatus or ExitStatusError from the raw underlying integer status value from wait

The value should be a wait status, not an exit status.

Panics

Panics on an attempt to make an ExitStatusError from a wait status of 0.

Making an ExitStatus always succeeds and never panics.

If the process was terminated by a signal, returns that signal.

In other words, if WIFSIGNALED, this returns WTERMSIG.

If the process was terminated by a signal, says whether it dumped core.

If the process was stopped by a signal, returns that signal.

In other words, if WIFSTOPPED, this returns WSTOPSIG. This is only possible if the status came from a wait system call which was passed WUNTRACED, and was then converted into an ExitStatus.

Whether the process was continued from a stopped status.

Ie, WIFCONTINUED. This is only possible if the status came from a wait system call which was passed WCONTINUED, and was then converted into an ExitStatus.

Returns the underlying raw wait status.

The returned integer is a wait status, not an exit status.

Implementors