Process manages spawning external OS processes. Goes one better than the standard
sys::Process as this constantly stream keyboard input to the new process.
ActorPoolused to control the in / out / err stream threads. Leave as
nullto create a default
Command argument list used to launch process. The first item is the executable itself, then rest are the parameters.
Working directory of process.
Environment variables to pass to new process as a mutable map of string key/value pairs. This map is initialised with the current process environment.
OutStream? err := Env.cur().err
InStream? in := null
The input stream used to source the process stdin. If
null, then the new process will block if it attempts to read stdin. Default is null.
Wait for this process to exit and return the exit code. This method may only be called once after
Kill this process. Returns this.
Construct a Process instanced used to launch an external OS process with the specified command arguments. The first item in the
cmdlist is the executable itself, then rest are the parameters.
Bool mergeErr := true
If true, then stderr is redirected to the output stream configured via the
outfield, and the
errfield is ignored. The default is true.
OutStream? out := Env.cur().out
The output stream used to sink the process stdout. Default is to send to Env.out. If set to null, then output is silently consumed like /dev/null.
Spawn this process. See join to wait until the process has finished and get the exit code. Return this.