The Process class is used to start external programs and communicate with them via their standard input, output and error streams.
Exception thrown when the process cannot be created.
Exception thrown when the parent process cannot be forked.
Exception thrown when the process cannot be killed.
Exception thrown when the parent process tries to wait on the child process and fails.
Redirect flags for processes. Defined outside process class to cut down on verbosity.