Lines Matching full:process
1 [def bp::system [funcref boost::process::system bp::system]]
2 [def bp::async_system [funcref boost::process::async_system bp::async_system]]
3 [def bp::spawn [funcref boost::process::spawn bp::spawn]]
4 [def bp::child [classref boost::process::child bp::child]]
5 [def bp::cmd [classref boost::process::cmd bp::cmd]]
6 [def bp::group [classref boost::process::group bp::group]]
7 [def bp::ipstream [classref boost::process::ipstream bp::ipstream]]
8 [def bp::opstream [classref boost::process::opstream bp::opstream]]
9 [def bp::pstream [classref boost::process::pstream bp::pstream]]
10 [def bp::pipe [classref boost::process::pipe bp::pipe]]
11 [def bp::async_pipe [classref boost::process::async_pipe bp::async_pipe]]
12 [def bp::search_path [funcref boost::process::search_path bp::search_path]]
15 [def child_running [memberref boost::process::child::running running]]
16 [def child_wait [memberref boost::process::child::wait wait]]
17 [def child_wait_for [memberref boost::process::child::wait_for wait_for]]
18 [def child_exit_code [memberref boost::process::child::exit_code exit_code]]
19 [def group_wait_for [memberref boost::process::group::wait_for wait_for]]
20 [def bp::on_exit [globalref boost::process::on_exit bp::on_exit]]
21 [def bp::null [globalref boost::process::null bp::null]]
22 [def child_terminate [memberref boost::process::child::terminate terminate]]
23 [def group_terminate [memberref boost::process::group::terminate terminate]]
24 [def group_wait [memberref boost::process::group::wait wait]]
25 [def bp::std_in [globalref boost::process::std_in bp::std_in]]
26 [def bp::std_out [globalref boost::process::std_out bp::std_out]]
27 [def bp::std_err [globalref boost::process::std_err bp::std_err]]
31 [def bp::environment [classref boost::process::basic_environment bp::environment]]
32 [def bp::native_environment [classref boost::process::basic_native_environment bp::native_environm…
37 [def __wait_for__ [memberref boost::process::child::wait_for wait_for]]
38 [def __wait_until__ [memberref boost::process::child::wait_until wait_until]]
39 [def __detach__ [memberref boost::process::child::detach detach]]
41 [def __reference__ [link process.reference reference]]
46 [def bp::env [globalref boost::process::env bp::env]]
51 boost.process. For a full description see the __reference__ and the __concepts__ sections.
53 [section Starting a process]
55 We want to start a process, so let's start with a simple process. We will
64 Which we can write exactly like this in boost.process.
67 namespace bp = boost::process; //we will assume this for all further examples
93 `Boost.process` provides a function to this end: bp::search_path.
100 [note [funcref boost::process::search_path search_path] will search for any executable with that na…
107 Given that our example used the [funcref boost::process::system system] function,
108 our program will wait until the child process is completed. This may be unwanted,
111 In order to avoid that, boost.process provides several ways to launch a process.
112 Besides the already mentioned [funcref boost::process::system system] function and its
113 asynchronous version [funcref boost::process::async_system async_system],
114 we can also use the [funcref boost::process::spawn spawn] function or the
115 [classref boost::process::child child] class.
117 The [funcref boost::process::spawn spawn] function launches a process and
118 immediately detaches it, so no handle will be returned and the process will be ignored.
127 To implement that, we directly call the constructor of [classref boost::process::child child].
135 c.child_wait(); //wait for the process to exit
139 So we launch the process, by calling the child constructor. Then we check and do other
140 things while the process is running and afterwards get the exit code. The call
142 one is waiting for the process anymore.
153 that "g++" is not present. That will cause the launch of the process to fail.
167 …nds on the system, but usually this will just write it to the same output as the launching process.
192 Boost.process provides the pipestream ([classref boost::process::ipstream ipstream],
193 [classref boost::process::opstream opstream], [classref boost::process::pstream pstream]) to
194 wrap around the [classref boost::process::pipe pipe] and provide an implementation of the
217 What this does is redirect the `stdout` of the process into a pipe and we read this
220 [note You can do the same thing with [globalref boost::process::std_err std_err].]
239 Now you might want to forward output from one process to another processes input.
263 This forwards the data from `nm` to `c++filt` without your process needing to do anything.
268 Boost.process allows the usage of boost.asio to implement asynchronous I/O.
270 you can use [classref boost::process::async_pipe async_pipe] which is implemented
271 as an I/O-Object and can be used like [classref boost::process::pipe pipe] as shown above.
293 To make it easier, boost.process provides a simpler interface for that, so that the buffer can be p…
307 [memberref boost::process::child::wait wait] is needed.]
335 This will also apply for a child process, that launches other processes,
342 # Being able to terminate child processes of the child process
347 and use the following code, the `gcc` process will still run afterwards:
363 c.child_wait(); //to avoid a zombie process & get the exit code
366 Now given the example, we still call child_wait to avoid a zombie process.
367 An easier solution for that might be to use [funcref boost::process::spawn spawn].
371 launches a detached process (i.e. without a child-handle), but they can be grouped,
391 Please see the [headerref boost/process/group.hpp reference] for more information.
396 This library provides access to the environment of the current process and allows
397 setting it for the child process.
405 //copy it into an environment separate to the one of this process
410 //launch a process with `env_`
415 [globalref boost::process::env env] property, which can be used in the example as following:
422 Please see the [headerref boost/process/environment.hpp reference] for more information.