- * This function uses fork/exec to create a new process. \a fds must be a
- * pointer to three integers, corresponding to stdin, stdout and stderr
- * respectively. It specifies how to deal with fd 0, 1, 2 in the child. The
- * contents of \a fds are interpreted as follows:
- *
- * - fd[i] < 0: leave fd \a i alone
- * - fd[i] = 0: dup fd \a i to /dev/null
- * - fd[i] > 0: create a pipe and dup i to one end of that pipe.
- * Upon return, fd[i] contains the file descriptor of the pipe.
- *
- * In any case, all unneeded filedescriptors are closed.
- *