After the completion of the parent's work, is the child still alive? If so, how can I kill him if the main process is complete? I used boost libraries (boost process, boost asio). If it possible it should be a solution for MacOs, Windows and Linux.
boost::asio::io_service ioservice;
namespace bp = boost::process;
bp::child c(args);
ioservice.run();
c.wait();
result = c.exit_code();