Outcome Type
How a process run concluded.
Union cases
| Union case |
Description
|
Full Usage:
Exited ExitCode
Parameters:
int
|
Exited with the given code.
|
Full Usage:
Signalled SignalNumber
Parameters:
int option
|
Terminated by a signal (Unix). `None` when the signal number is unavailable.
|
Full Usage:
TimedOut
|
Killed because it exceeded its timeout. |
Full Usage:
Unobserved Reason
Parameters:
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.
|
Instance members
| Instance member |
Description
|
Full Usage:
this.Code
Returns: int option
|
The exit code, or `None` for a signal kill, timeout, or unobserved outcome (never a `-1` sentinel).
|
Full Usage:
this.IsExited
Returns: bool
|
|
Full Usage:
this.IsSignalled
Returns: bool
|
|
Full Usage:
this.IsTimedOut
Returns: bool
|
|
Full Usage:
this.IsUnobserved
Returns: bool
|
|
Full Usage:
this.Signal
Returns: int option
|
The terminating signal, when known.
|
ProcessKit API Reference