std::os::unix::process

Trait ExitStatusExt

1.0.0 · Source
pub trait ExitStatusExt: Sealed {
    // Required methods
    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;
}
Available 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§

1.12.0 · Source

fn from_raw(raw: i32) -> Self

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.

1.0.0 · Source

fn signal(&self) -> Option<i32>

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

In other words, if WIFSIGNALED, this returns WTERMSIG.

1.58.0 · Source

fn core_dumped(&self) -> bool

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

1.58.0 · Source

fn stopped_signal(&self) -> Option<i32>

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.

1.58.0 · Source

fn continued(&self) -> bool

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.

1.58.0 · Source

fn into_raw(self) -> i32

Returns the underlying raw wait status.

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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§