ProcessModule
Process operations
A command or specification is immutable data. Constructing it starts no process. Use toFlow to add execution to an
application workflow, or run / tryRun for a script boundary. The former raises ProcessRunException on failure;
the latter preserves the complete Exit so the caller can choose a policy.
Output routing and retention are separate decisions. A destination controls where bytes go; capture controls which
bytes remain available in ProcessResult. Streaming constructors produce a ProcessStream, whose transforms and
terminals are grouped on its companion module page.
See Commands and composition, output capture, and streaming output for examples.
Summary
| Name | Signature | Synopsis |
|---|---|---|
| Create commands | ||
| commandArgs | Process.commandArgs fileName arguments | Creates a one-command process specification from an executable and already-separated arguments. |
| command | Process.command commandLine | Creates a safely tokenized one-command process specification from an interpolated command template. |
| commandText | Process.commandText commandLine | Creates a safely tokenized one-command process specification from fixed command text. |
| fileName | Process.fileName command | No description available. |
| arguments | Process.arguments command | No description available. |
| arg | Process.arg value command | No description available. |
| secretArg | Process.secretArg value command | No description available. |
| Configure execution | ||
| tryWorkingDirectory | Process.tryWorkingDirectory command | No description available. |
| environmentVariables | Process.environmentVariables command | No description available. |
| workingDirectory | Process.workingDirectory path command | No description available. |
| environment | Process.environment name value command | No description available. |
| removeEnvironment | Process.removeEnvironment name command | No description available. |
| encoding | Process.encoding value command | No description available. |
| successCodes | Process.successCodes values command | No description available. |
| timeout | Process.timeout after command | Bounds one stage from successful native launch to direct exit; use overallTimeout to include drainage. |
| withoutTimeout | Process.withoutTimeout command | No description available. |
| mapFinalCommand | Process.mapFinalCommand transform specification | Changes settings on the unique final command; executable and arguments must remain unchanged. |
| stageDefaults | Process.stageDefaults defaults source | Supplies topology-wide fallbacks, including future stages. |
| overallTimeout | Process.overallTimeout after source | Bounds the topology from launch through drain and completion-aware consumer callbacks. |
| drainTimeout | Process.drainTimeout after source | Bounds remaining I/O and sink completion after every managed stage exits. |
| Compose commands | ||
| ofCommand | Process.ofCommand command | No description available. |
| connect | Process.connect both next source | No description available. |
| pipe | Process.pipe next source | No description available. |
| pipeStdoutAndStderr | Process.pipeStdoutAndStderr next source | No description available. |
| mergeSpecifications | Process.mergeSpecifications specifications | No description available. |
| mergeStdout | Process.mergeStdout sources | No description available. |
| mergeStderr | Process.mergeStderr source | No description available. |
| Route input and output | ||
| stdinFrom | Process.stdinFrom source command | Configures root input; an explicit source conflicts with a pipe feeding this command. |
| stdoutTo | Process.stdoutTo target command | Configures a destination independently of capture; explicit destinations conflict with piping this channel. |
| stderrTo | Process.stderrTo target command | Configures separate stderr routing; merged stderr uses the final stdout destination. |
| stdoutToConsole | Process.stdoutToConsole command | No description available. |
| stdoutToFile | Process.stdoutToFile path command | No description available. |
| stdoutToAppendFile | Process.stdoutToAppendFile path command | No description available. |
| stdoutToDiscard | Process.stdoutToDiscard command | No description available. |
| stdoutToInheritHandles | Process.stdoutToInheritHandles command | No description available. |
| stderrToConsole | Process.stderrToConsole command | No description available. |
| stderrToFile | Process.stderrToFile path command | No description available. |
| stderrToAppendFile | Process.stderrToAppendFile path command | No description available. |
| stderrToDiscard | Process.stderrToDiscard command | No description available. |
| stderrToInheritHandles | Process.stderrToInheritHandles command | No description available. |
| stdinFromText | Process.stdinFromText text command | No description available. |
| stdinFromBytes | Process.stdinFromBytes bytes command | No description available. |
| stdinFromFile | Process.stdinFromFile path command | No description available. |
| stdinFromInheritHandles | Process.stdinFromInheritHandles command | No description available. |
| Capture output | ||
| setCapture | Process.setCapture stderr policy specification | No description available. |
| captureAll | Process.captureAll source | Retains all final stdout bytes; stderr and destinations are unchanged. |
| captureTail | Process.captureTail size source | Retains the last size bytes of final stdout. |
| captureNothing | Process.captureNothing source | Omits the stdout transcript while retaining live routing, observation and stderr diagnostics. |
| captureStderrAll | Process.captureStderrAll source | Retains complete readable unmerged stderr for every stage. |
| captureStderrTail | Process.captureStderrTail size source | Bounds each readable unmerged stderr transcript in bytes. |
| captureStderrNothing | Process.captureStderrNothing source | Omits readable unmerged stderr transcripts, including diagnostic tails. |
| Operations | ||
| toSpecification | Process.toSpecification source | No description available. |
| acceptedExitCodes | Process.acceptedExitCodes command | No description available. |
| framing | Process.framing value source | No description available. |
| maxLineLength | Process.maxLineLength value source | No description available. |
| maxOutputBytes | Process.maxOutputBytes stdout stderr source | Fails and terminates the topology when either original output channel exceeds its byte limit. |
| createOutputStream | Process.createOutputStream requestedChannel specification | No description available. |
| Execute workflows | ||
| service | Process.service | No description available. |
| toFlowSpecification | Process.toFlowSpecification specification | No description available. |
| toFlow | Process.toFlow source | No description available. |
| unwrapRun | Process.unwrapRun _arg1 | No description available. |
| run | Process.run source | Runs with live services and returns the value; raises ProcessRunException on failure. |
| runWith | Process.runWith environment source | Runs with supplied services and returns the value; raises ProcessRunException on failure. |
| tryRun | Process.tryRun source | Runs with live services and returns Exit, including typed failures and interruptions. |
| tryRunWith | Process.tryRunWith environment source | Runs with supplied services and returns Exit without raising on workflow failure. |
| Inspect plans | ||
| render | Process.render source | No description available. |
| planSpecification | Process.planSpecification specification | No description available. |
| plan | Process.plan source | No description available. |
| renderPlan | Process.renderPlan plan | Renders a plan as short lines: the command pipeline, then one line per stage. |
| Stream output | ||
| streamOutputs | Process.streamOutputs source | Observes all readable unconnected output channels, preserving originating channel metadata. |
| streamStdout | Process.streamStdout source | Observes final effective stdout chunks; explicitly merged stderr is included. |
| streamStderr | Process.streamStderr source | Observes readable unmerged stderr chunks from every stage. |
| lineStream | Process.lineStream requested source | No description available. |
| streamStdoutLines | Process.streamStdoutLines source | Observes final stdout lines without LF or CRLF terminators; stderr stays separate by default. |
| streamStderrLines | Process.streamStderrLines source | Observes readable unmerged stderr lines from every stage. |
| Provide and test the host | ||
| live | Process.live | No description available. |
| createHost | Process.createHost console | No description available. |
| liveHost | Process.liveHost | No description available. |
| test | Process.test () | No description available. |
Create commands
Turn templates or argument lists into immutable command descriptions.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | |
| arguments | string list |
Returns
Parameters
| Name | Type | Description |
|---|---|---|
| commandLine | FormattableString |
Returns
Configure execution
Set stage defaults, environment, working directory, timeouts, and success codes before running.
Compose commands
Connect commands into process topologies and combine independent specifications.
Route input and output
Choose where each native process channel reads and writes.
Capture output
Retain all, a bounded tail, or none of each readable output channel.
Operations
Execute workflows
Choose lazy Flow composition or a direct script boundary.
Inspect plans
Resolve and render a redacted execution plan without starting a process.
Stream output
Produce completion-aware process output streams for incremental consumption.
Provide and test the host
Create a live host or substitute the process service in tests.

