The
createPipe function creates a pair of connected file
descriptors. The first component is the fd to read from, the second is
the write end. Although pipes may be bidirectional, this behaviour is
not portable and programmers should use two separate pipes for this
purpose. May throw an exception if this is an invalid descriptor.