【问题标题】:Set the working directory when starting a process with boost使用 boost 启动进程时设置工作目录
【发布时间】:2021-12-29 22:31:37
【问题描述】:

我正在寻找一种在使用boost::process::systemboost::process::child 启动进程时指定工作目录的方法。在文档https://www.boost.org/doc/libs/1_77_0/doc/html/boost_process/tutorial.html 中有一些有用的示例,但没有关于我感兴趣的主题。

child 构造函数如下所示:

template<typename ...Args>
child::child(Args&&...args)

我还没有找到涵盖Args 可能是什么的完整文档,只有一些不完整的示例。

【问题讨论】:

    标签: c++ boost


    【解决方案1】:
    #include <boost/process/start_dir.hpp>
    
    namespace bp = boost::process;
    
    int result = bp::system("/usr/bin/g++", "main.cpp", bp::start_dir("/home/user"));
    
    bp::child c(bp::search_path("g++"), "main.cpp", bp::start_dir("/home/user"));
    c.wait();
    

    请参阅boost::process::start_dir 和完整的Reference

    Args 是参考中的程序名称、程序参数和其他进程属性。

    【讨论】:

    • 酷,谢谢! start_dir 成功了。至于参考的链接,我找不到可能是bp::child的参数的完整列表
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多