boost::process::v2::async_execute — Execute a process asynchronously.
// In header: <boost/process/v2/execute.hpp> template<typename Executor = boost::asio::any_io_executor, Token WaitHandler DEFAULT_TYPE> async_execute(basic_process< Executor > proc, WaitHandler &&handler DEFAULT);
This function asynchronously for a process to complete.
Cancelling the execution will signal the child process to exit with the following interpretations:
cancellation_type::total -> interrupt
cancellation_type::partial -> request_exit
cancellation_type::terminal -> terminate
It is to note that
async_execute will us the lowest selected cancellation type. A subprocess might ignore anything not terminal.