Open a process for reading, writing, and error handling
Description
These are functions that spawn a given command and connects the standard
output of the command for reading, standard output for writing, and standard
error output for handling the errors.