added pipe_stdout and pipe_stderr options
pass along pipe_stdout & pipe_stderr so they get closed in the child process