Treatment spawn

process/exec::spawn


Inputs

⇥ commands: Stream<Command> (process/command::Command)
⇥ environment: Block<Option<Environment>> (process/environment::Environment)
⇥ executor: Block<Executor> (process/exec::Executor)

Outputs

↦ completed: Block<void>
↦ error: Block<string>
↦ exit: Stream<Option<i32>>
↦ failed: Block<void>
↦ finished: Block<void>
↦ started: Block<void>
↦ stderr: Stream<byte>
↦ stdout: Stream<byte>


Spawn a command and provides input and outputs to the process.

Takes an Executor on which command will be spawned with the optionnal environment.

stdin corresponds to standard input of the related process, stdout to the standard output, and stderr to the standard error output.

When the execution finishes, finished is emitted, regardless of the execution or command status. completed is emitted if the command execution went right from executor perspective (the command itself may have failed in its own logic), and exit contains the return code of the command. failed is emitted if the executor is not able to launch the command, and error contains the associated error message.