Objective
Implement process_stream_open, a small process launcher that exposes one end of a pipe.
Steps
$ process_stream_open("printf", (char *const []){"printf", "ready\\n", NULL}, 'r')
fd reading ready\n
$ process_stream_open("cat", (char *const []){"cat", NULL}, 'w')
fd writing to child stdin
Expected files
Allowed functions

Objective
Implement process_stream_open, a small process launcher that exposes one end of a pipe.
Steps
$ process_stream_open("printf", (char *const []){"printf", "ready\\n", NULL}, 'r')
fd reading ready\n
$ process_stream_open("cat", (char *const []){"cat", NULL}, 'w')
fd writing to child stdin
Expected files
Allowed functions

Tests
Run the tests to grade your code