Я создаю программу и делаю все возможное асинхронно.
Мне нужно запустить программу, и когда эта программа завершает ее, она вызывает функцию обратного вызова.Я нашел версию boost :: process и решил использовать, но похоже, что есть пример, но я не смог найти реализацию в загруженном источнике, кто-то может мне помочь?
пример кодаhttp://www.highscore.de/boost/gsoc2010/process/user_guide.html#boost_process.user_guide.waiting и загрузите источник Boost :: process здесь www.highscore.de/cpp/process/
Мне нужно создать реализацию для него или там, но я получил источники из неправильного места?
это пример кода для решения моей проблемы.
boost::asio::io_service ioservice;
void end_wait(const boost::system::error_code &ec, int exit_code);
int main()
{
std::string exe = boost::process::find_executable_in_path("hostname");
std::vector<std::string> args;
boost::process::child c = boost::process::create_child(exe, args);
boost::process::status s(ioservice);
s.async_wait(c.get_id(), end_wait);
ioservice.run();
}
void end_wait(const boost::system::error_code &ec, int exit_code)
{
if (!ec)
{
#if defined(BOOST_POSIX_API)
if (WIFEXITED(exit_code))
exit_code = WEXITSTATUS(exit_code);
#endif
std::cout << "exit code: " << exit_code << std::endl;
}
}
Извините, мой плохой английский С уважением, Бруно