Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where is Boost.Process?

I need to execute a program and retrieve its stdout output in c++. I'd like my code to be cross-platform too.

Having recently discovered the wonderful world of the Boost c++ libraries for all your cross platform needs, I figured I'd just go to boost.org and read up on the documentation of Boost.Process. Much to my surprise, it wasn't there! I then proceeded to figure out what name Boost gave their cross-platform library to start external processes, but haven't managed to find it so far.

A Google search brought me to Julio M. Merino Vidal's Boost.Process, which seems to be the unofficial Boost library I was looking for. Strangely enough, I cannot seem to find a download link on that website. It also seems like there haven't been any recent developments regarding the project.

I was finally able to find a download link for Vidal's Boost.Process on an external site and will use that for now, but I'm quite amazed at the effort I had to put in to get my hands on a cross platform c++ library to interact with external processes.

So, why is there no official Boost.Process? It seems like it would be a very valuable addition. Or am I totally overlooking the obvious solution here? Could you perhaps suggest other cross-platform libraries for managing simple starting of and interation with external processes?

like image 215
TC. Avatar asked Nov 05 '09 21:11

TC.


People also ask

What is a Boost process?

Boost. Process is a library to manage system processes. It can be used to: create child processes. setup streams for child processes.

Is Boost process header only?

Boost Process is header-only, so you don't have to compile it separately.

Is Boost part of C++?

Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It contains 164 individual libraries (as of version 1.76).

What is the use of Boost?

Boost is proven to be a nourishing beverage that helps build stamina. Boost has nutrients which help in maintenance of optimal bone & muscle strength. Boost is enriched with envita nutrients (iron, Vitamin A, C, folic acid, B12 and B6). Envita nutrients help transport oxygen more effectively in the body.


1 Answers

Boost.Process was accepted for inclusion into Boost on November 9, 2016; and has been included in the 1.64 released on April 19, 2017. Boost.Process is now an official Boost library!

It's documentation is available here: http://www.boost.org/doc/libs/1_64_0/doc/html/process.html


For the record, the sources that were reviewed from October 27, 2016 through November 5, 2016 are available on GitHub:

download: https://github.com/klemens-morgenstern/boost-process

manual: http://klemens-morgenstern.github.io/process/index.html


You can find on the web several older versions of this library. They are all more or less incompatible:

  • Version 0.5 (latest, as of 3rd Dec 2012)

download: http://www.highscore.de/boost/process0.5/process.zip

manual: http://www.highscore.de/boost/process0.5/index.html

  • Version GSOC2010

download: http://www.highscore.de/boost/gsoc2010/process.zip

manual: http://www.highscore.de/boost/gsoc2010/

  • Version 0.31

download: http://www.highscore.de/boost/process.zip

manual1: http://www.highscore.de/boost/process/

manual2: http://www.highscore.de/cpp/process/

I think it is the same as in http://svn.boost.org/svn/boost/sandbox/process/boost/

  • I.S. Version 0.1-0.4

download: https://github.com/boost-vault/Process

  • Version 0?

download: http://www.netbsd.org/~jmmv/process.zip

manual: http://www.netbsd.org/~jmmv/process/

There are other version that look like branches: https://github.com/JeffFlinn/boost-process and https://github.com/boost-vault/Process.

For a partial history of the project, look at http://www.highscore.de/cpp/process/#introduction

like image 183
12 revs, 6 users 79% Avatar answered Oct 06 '22 00:10

12 revs, 6 users 79%