小编Bru*_*ano的帖子

Boost::process async_wait 进程

我正在创建一个程序,并且我正在尽可能地异步执行。

我需要运行一个程序,当该程序完成时,它会调用一个回调函数。我找到了 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; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

抱歉我的英语不好问候布鲁诺

c++ boost

1
推荐指数
1
解决办法
2815
查看次数

标签 统计

boost ×1

c++ ×1