ProcessError Type
Structured failure type for ProcessKit operations. Named `ProcessError` (rather than just `Error`) to avoid colliding with the `Result.Error` constructor in F#. Honest-result verbs — `outputString`, `outputBytes`, `exitCode`, `probe` — return their value; only genuine failures surface as a `ProcessError` in the `Result` channel.
Union cases
| Union case |
Description
|
Full Usage:
Cancelled Program
Parameters:
string
|
The run was cancelled through its `CancellationToken`. A cancellation is always an error.
|
Full Usage:
CassetteMiss Program
Parameters:
string
|
A `RecordReplayRunner` in replay mode found no recorded entry matching the invocation.
|
Full Usage:
Exit(Program, Code, Stdout, Stderr)
Parameters:
string
Code : int
Stdout : string
Stderr : string
|
A success-requiring verb (`run`) observed a non-zero exit code.
|
Full Usage:
Io Detail
Parameters:
string
|
An underlying I/O failure not attributable to a specific exit.
|
Full Usage:
NotFound(Program, Searched)
Parameters:
string
Searched : string option
|
The program could not be found. `Searched` is the search path that was probed, when known.
|
|
A readiness probe (`WaitForLineAsync` / `WaitForPortAsync` / `WaitForAsync`) did not succeed within its timeout.
|
Full Usage:
OutputTooLarge(Program, LineLimit, ByteLimit, TotalLines, TotalBytes)
Parameters:
string
LineLimit : int option
ByteLimit : int option
TotalLines : int
TotalBytes : int
|
Captured line output exceeded the configured `OutputBufferPolicy` ceiling (`OverflowMode.Error`). Carries the configured caps and the cumulative totals seen.
|
Full Usage:
Parse(Program, Detail)
Parameters:
string
Detail : string
|
Parsing the captured output into a typed value failed.
|
Full Usage:
ResourceLimit Detail
Parameters:
string
|
A `ResourceLimits` cap was requested but could not be enforced — the platform has no whole-tree limit primitive (macOS / the Linux process-group fallback), or the Linux cgroup v2 controllers could not be enabled (this process is not at the real cgroup root).
|
Full Usage:
Signalled(Program, Signal, Stdout, Stderr)
Parameters:
string
Signal : int option
Stdout : string
Stderr : string
|
The process was terminated by a signal (Unix) or otherwise killed without a code.
|
Full Usage:
Spawn(Program, Detail)
Parameters:
string
Detail : string
|
The process could not be spawned (a failure before or during launch).
|
Full Usage:
Stdin(Program, Detail)
Parameters:
string
Detail : string
|
The child's stdin source could not be read (e.g. a missing `FromFile` path) on an otherwise- successful run. A routine broken pipe — the child closed stdin early — is never reported here.
|
Full Usage:
Timeout(Program, Timeout, Stdout, Stderr)
Parameters:
string
Timeout : TimeSpan
Stdout : string
Stderr : string
|
The run exceeded its configured timeout.
|
Full Usage:
Unobserved(Program, Detail)
Parameters:
string
Detail : string
|
The process concluded but its actual exit status could not be observed (see `Outcome.Unobserved`) — a native API failure or an unresolved POSIX reap race. `Detail` carries the reason. Always a failure; never fabricated as a clean exit.
|
Full Usage:
Unsupported Operation
Parameters:
string
|
The requested operation is unsupported on this platform or in this configuration.
|
Instance members
| Instance member |
Description
|
Full Usage:
this.Code
Returns: int option
|
The exit code when the error is an `Exit`; `None` otherwise (a signal kill or timeout has none).
|
Full Usage:
this.Combined
Returns: string option
|
The captured stdout and stderr joined (stdout, then stderr on a new line when both are non-empty) for the stream-carrying cases (`Exit` / `Signalled` / `Timeout`); `None` otherwise.
|
Full Usage:
this.IsCancelled
Returns: bool
|
|
Full Usage:
this.IsCassetteMiss
Returns: bool
|
|
Full Usage:
this.IsExit
Returns: bool
|
|
Full Usage:
this.IsIo
Returns: bool
|
|
Full Usage:
this.IsNotFound
Returns: bool
|
|
Full Usage:
this.IsNotReady
Returns: bool
|
|
Full Usage:
this.IsOutputTooLarge
Returns: bool
|
|
Full Usage:
this.IsParse
Returns: bool
|
|
Full Usage:
this.IsResourceLimit
Returns: bool
|
|
Full Usage:
this.IsSignalled
Returns: bool
|
|
Full Usage:
this.IsSpawn
Returns: bool
|
|
Full Usage:
this.IsStdin
Returns: bool
|
|
Full Usage:
this.IsTimeout
Returns: bool
|
|
Full Usage:
this.IsTransient
Returns: bool
|
True for errors that may succeed on a retry (a spawn race or transient I/O). The instance form of `ProcessError.isTransient`, so it reads cleanly from C# as `err.IsTransient` (the not-found classifier already has the generated `err.IsNotFound` tester).
|
Full Usage:
this.IsUnobserved
Returns: bool
|
|
Full Usage:
this.IsUnsupported
Returns: bool
|
|
Full Usage:
this.Message
Returns: string
|
A short, human-readable description for logs and diagnostics.
|
Full Usage:
this.Program
Returns: string option
|
The program the error is about, when it carries one — `None` for `ResourceLimit` / `Io` / `Unsupported`, which are not tied to a specific program.
|
Full Usage:
this.Signal
Returns: int option
|
The terminating signal number when the error is a `Signalled` with a known number; `None` otherwise.
|
Full Usage:
this.Stderr
Returns: string option
|
The captured stderr when the error carries it (`Exit` / `Signalled` / `Timeout`); `None` otherwise.
|
Full Usage:
this.Stdout
Returns: string option
|
The captured stdout when the error carries it (`Exit` / `Signalled` / `Timeout`); `None` otherwise.
|
ProcessKit API Reference