How to launch a script (.sh or .bat) vai boost pro

2019-09-21 17:13发布

问题:

I wonder is it possible and how to launch a .bat on Windows or .sh on linux script via boost process?

回答1:

Example to start a batch file:

#include <boost/process.hpp> 
#include <string> 
#include <iostream> 

using namespace boost::process; 

int main() 
{ 
  context ctx; 
  ctx.environment = self::get_environment(); 
  child c = launch("cmd", "/c batch.bat", ctx); 
  status s = c.wait(); 
  if (s.exited()) 
    std::cout << s.exit_status() << std::endl; 
} 

Untested. The key is passing the batch file to cmd with /c