classstuds::Proc
sys::Obj studs::Proc
Proc manages spawning an external OS process. This class differs from sys::Process by optimizing the API for interaction with the child process over stdio.
- cmd
 const Str[] cmdCommand argument list used to launch process. The first item is the executable itself, then rest are the parameters.
- dir
 const File? dir := nullWorking directory for child process.
- env
 const Str:Str env := [Str:Str][:]Environment variables to pass to child process. This map is initialized with the current process environment.
- err
 InStream err()Return InStream used to read process stderr.
- exitCode
 Int? exitCode()Return the exit code for child process,
nullif process has not started, or throws Err if process has not yet terminated.- in
 InStream in()Return InStream used to read process stdout.
- isRunning
 Bool isRunning()Return
trueif child process is currently running orfalseif not started or terminated.- kill
 This kill()Kill the child process. Use waitFor to block until the process has terminated.
- make
 new make(|This f)It-block constructor.
- okOrThrow
 This okOrThrow()Check the exit code the process returned. If the code was
0return this. If the code was non-zero throws an IOErr. If the process is still running, the same semantics apply as exitCode.- out
 OutStream out()Return OutStream used to write to process stdin.
- redirectErr
 const Bool redirectErr := falseIf
true, then stderr is redirected to stdout.- run
 This run()- sinkErr
 This sinkErr()Sink the stderr output stream to Fantom's stdout. This method will spawn a background actor to pipe the process stderr stream to
Env.cur.out. Must be called after run and requires redirectErr to befalse. Once this method has been invoked, err is no longer available.- waitFor
 This waitFor()Block the current thread until the child process has terminated. Use exitCode to retreive exit code.