classafFpm::Process2

sys::Obj
  afFpm::Process2

Process manages spawning external OS processes. Goes one better than the standard sys::Process as this constantly stream keyboard input to the new process.

actorPool

Source

ActorPool? actorPool

The ActorPool used to control the in / out / err stream threads. Leave as null to create a default ActorPool.

command

Source

Str[] command

Command argument list used to launch process. The first item is the executable itself, then rest are the parameters.

dir

Source

File? dir

Working directory of process.

env

Source

Str:Str env

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.

err

Source

OutStream? err := Env.cur().err

The output stream used to sink the process stderr. Default is to send to Env.err. If set to null, then output is silently consumed like /dev/null. Note this field is ignored if mergeErr is set true, in which case stderr goes to the stream configured via out.

in

Source

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.

isAlive

Source

Bool isAlive()

join

Source

Int join()

Wait for this process to exit and return the exit code. This method may only be called once after run.

kill

Source

This kill()

Kill this process. Returns this.

make

Source

new make(Str[] cmd := Str[,], File? dir := null)

Construct a Process instanced used to launch an external OS process with the specified command arguments. The first item in the cmd list is the executable itself, then rest are the parameters.

mergeErr

Source

Bool mergeErr := true

If true, then stderr is redirected to the output stream configured via the out field, and the err field is ignored. The default is true.

out

Source

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.

run

Source

This run()

Spawn this process. See join to wait until the process has finished and get the exit code. Return this.