I would like to know if there is a cross-platform (Windows, Linux, BSD) library with which I could start a process asynchronously and have iostream
-like wrappers for its standard pipes.
I would like it to be able to be able to tell when the process has terminated.
Thank you.
There are 2 libraries you can use:
QProcess
You can use QProcess class from Qt toolkit. More information can be found on this stackoverflow question and qt library.
libexecstream
This library is lighter than Qt, and is cross-platform
Others
If you only want a console application you can use the old popen-based branch (release 0.17), which uses the Win32 functions _popen() and _pclose(), but these will not work in a GUI program (and might blow up your PC, if Windows doesn't do it for you.) This version doesn't have most of the library's features and is no longer maintained or tested.