A basic command is a parsed form of for example
A command chain is the unit that gets executed. It's basically a parsed form of:
Abstraction over UNIX pipe for the specific case here with stdin/stdout redirection between processes. The typical flow is that a Pipe is created, the program is forked and that one process marks it's part of the Pipe as READ while the other process marks it's part of the Pipe as WRITE.
Process state. Describes the state of the child processes
created per invocation of
Common trait for the two builders.
Runs a command chain. The parent process creates n childs and connects them (stdout => stdin) together via pipes.
Updates the process state values if the pid is done running. Returns true if all pids are finished, otherwise false.