Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Global on_exit



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

static unspecified on_exit;


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


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


io_context ios;

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

std::future<int> exit_code;
chlid c2("ls", ios, 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.

[Warning] Warning

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).