Run
Status: alpha
// <org.stdplus/posix/Run.hpp>
namespace org
{
namespace stdplus
{
namespace posix
{
class Run;
} // namespace posix
} // namespace stdplus
} // namespace org
Status
ALPHA This class works, but only minimally. It would be best to
have it spawn threads for reading stdout and stderr, as well
as implement the ability to write stdin to the child, but the author
has not yet needed that level of detail.
Overview
Run and communicate with a child process.
Run is not copyable or assignable. For long object lifespan, use Run::shared_ptr
Types
typedef std::shared_ptr<Run> shared_ptr;
typedef std::shared_ptr<Run const> shared_ptr_const;
Constructors/Destructors
Run::Run(std::vector<std::string> const& commandLine);
Runs the specified command line. Shell expansion is not performed.
Run::~Run()
Closes parent-process side of the pipes. Does not wait for or kill the child process.
Methods
void Run::readStdout();
Reads stdout pipe until there is no more available.
std::string Run::getStdout() const;
Returns a std::string containing previously read output from the
stdout pipe.
int wait()
Wait for the child process to exit.
Returns the child process’ exit status.