PStreams is a C++ library that provides the ability to start a new process and communicate with it using pipes, similar to the POSIX function popen(3). PStreams uses a standard C++ IOStreams interface for communication with the new process using up to three pipes for the stdin, stdout and stderr of the process, whereas popen() only allows one pipe to either stdin or stdout.