pub fn pipe() -> Result<(OwnedFd, OwnedFd)>
pipe()—Creates a pipe.
pipe()
This function creates a pipe and returns two file descriptors, for the reading and writing ends of the pipe, respectively.