pub fn pipe() -> Result<(File, File)>
Spawns a pipe pair where the first pipe is the read end and the second pipe is the write end.
The O_CLOEXEC flag will be set during pipe creation.
O_CLOEXEC