ExitStatusExt in std::os::unix::process - Rust (original) (raw)

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 andExitStatusError.

On Unix, ExitStatus does not necessarily represent an exit status, as passed to the _exit system call or returned byExitStatus::code(). It represents any wait statusas 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.

1.12.0 · Source

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

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

In other words, if WIFSIGNALED, this returns WTERMSIG.

1.58.0 · Source

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

1.58.0 · Source

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

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

Returns the underlying raw wait status.

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

This trait is not dyn compatible.

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

1.0.0 · Source§

Source§