
On Sun, 20 Feb 2005 18:42:24 +0100, Julio M. Merino Vidal wrote
Hi everyone,
...snip...
Among the classes I wrote, there are some that provide an abstraction layer to launch other (child) processes. Once the process is launched, the code can access its standard input/output/error streams by using the standard iostreams framework.
I'm willing to reorganize (well, mostly rewrite from scratch) such process-management classes to follow the Boost policies, aiming for future integration in Boost.
This is a library I'm very interested in having in boost. Spawning processes is one of the most fundamental software integration techniques and I've had to write this in various ways over the years. Before you embark on the project you should be aware of some of the other libraries in the eco-system: http://libexecstream.sourceforge.net/ http://pstreams.sourceforge.net/ Also, ACE has tools for doing this, although the interface is quite complex and doesn't integrate with I/O streams. http://www.dre.vanderbilt.edu/Doxygen/Current/html/ace/classACE__Process__Ma... http://www.dre.vanderbilt.edu/Doxygen/Current/html/ace/classACE__Process.htm... And, of course, since you mention I/O stream integration (which I would expect), you will want to consider using the boost::iostream library. This library is now in CVS and will be part of 1.33. This will hopefully make the job easier. http://home.comcast.net/~jturkanis/iostreams/libs/iostreams/doc/
But, before I start to do so, I would like to know if such library will be adequate to be integrated and/or if there is interest in it. FWIW, I've searched the mailing lists and found some people that said that they missed this functionality in Boost.
Any comments?
For sure this is of interest, would love to see you take up the initiative to develop it. Jeff