6 #include <Poco/Process.h>
7 #include <Poco/PipeStream.h>
8 #include <Poco/Exception.h>
18 std::stringstream istr(command_), ostr;
19 std::istream_iterator<std::string> eos;
20 std::istream_iterator<std::string> iit(istr);
36 ProcExec::ProcExec(
const std::string& command_,
const Poco::Process::Args& args_,
const Poco::Process::Env& env_)
47 Poco::Pipe outPipe, errPipe;
48 Poco::ProcessHandle ph = Poco::Process::launch(command, args, initialDirectory, 0, &outPipe, &errPipe, env);
50 Poco::PipeInputStream ostr(outPipe);
51 Poco::PipeInputStream estr(errPipe);
53 exitStatus = ph.wait();
55 throw std::runtime_error(std::string(
"ProcExec::exec: ")+strerror(errno));
62 catch(Poco::Exception& e)
64 es <<
" " << e.displayText();
66 catch(std::exception& e)
68 es <<
" " << e.what();
75 const_cast<ProcExec&
>(procExec).exec(os, os);
81 std::stringstream outMsg;
83 if (!procExec.isError())