Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Global on_exit

boost::process::on_exit

Synopsis

// In header: <boost/process/async.hpp>

static unspecified on_exit;

Description

When an io_context is passed, the on_exit property can be used, to be notified when the child process exits.

The following syntax is valid

on_exit=function;
on_exit(function);

with function being a callable object with the signature (int, const std::error_code&) or an std::future<int>.

Example. 

io_context ios;

child c("ls", on_exit=[](int exit, const std::error_code& ec_in){});

std::future<int> exit_code;
chlid c2("ls", on_exit=exit_code);
[Note] Note

The handler is not invoked when the launch fails.

[Warning] Warning

When used ignore_error it might get invoked on error.

on_exit uses boost::asio::signal_set to listen for SIGCHLD on posix, and so has the same restrictions as that class (do not register a handler for SIGCHLD except by using boost::asio::signal_set).


PrevUpHomeNext