Logo ProcessKit API Reference

Outcome Type

How a process run concluded.

Union cases

Union case Description

Exited ExitCode

Full Usage: Exited ExitCode

Parameters:
    ExitCode : int

Exited with the given code.

ExitCode : int

Signalled SignalNumber

Full Usage: Signalled SignalNumber

Parameters:
    SignalNumber : int option

Terminated by a signal (Unix). `None` when the signal number is unavailable.

SignalNumber : int option

TimedOut

Full Usage: TimedOut

Killed because it exceeded its timeout.

Unobserved Reason

Full Usage: Unobserved Reason

Parameters:
    Reason : string

The process concluded, but its actual exit status could not be observed — a native API failure (e.g. Windows `DuplicateHandle`/`GetExitCodeProcess`), or a POSIX reap race whose winner never reported the real decoded status within a grace period. `Reason` is a short, human-readable explanation for logs/diagnostics. This is deliberately NOT a sentinel for a clean exit — never fabricate `Exited 0` for a process whose outcome genuinely was not seen; use this case instead. Always treated as a failure (`IsAcceptedBy` is always `false`, like `Signalled`/`TimedOut`), and never itself a `-1`/`0` stand-in.

Reason : string

Instance members

Instance member Description

this.Code

Full Usage: this.Code

Returns: int option

The exit code, or `None` for a signal kill, timeout, or unobserved outcome (never a `-1` sentinel).

Returns: int option

this.IsExited

Full Usage: this.IsExited

Returns: bool
Returns: bool

this.IsSignalled

Full Usage: this.IsSignalled

Returns: bool
Returns: bool

this.IsTimedOut

Full Usage: this.IsTimedOut

Returns: bool
Returns: bool

this.IsUnobserved

Full Usage: this.IsUnobserved

Returns: bool
Returns: bool

this.Signal

Full Usage: this.Signal

Returns: int option

The terminating signal, when known.

Returns: int option

Type something to start searching.