1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef INCLUDED_CMDFORK_
#define INCLUDED_CMDFORK_
#include <bobcat/fork>
#include <bobcat/pipe>
#include <string>
class CmdFork: public FBB::Fork
{
FBB::Pipe d_childOutput; // child writes this
std::string d_command;
int d_childExit = -1;
public:
CmdFork(std::string const &command);
int childExit() const;
std::string const &childOutput() const;
private:
void childRedirections() override;
void childProcess() override;
void parentProcess() override;
};
inline int CmdFork::childExit() const
{
return d_childExit;
}
inline std::string const &CmdFork::childOutput() const
{
return d_command;
}
#endif
|