| Home | Libraries | People | FAQ | More

## 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
The handler is not invoked when the launch fails.

| Warning
When used ignore_error it might get invoked on error.

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