class Process {
+public:
+ using Arguments = std::vector<std::string>;
+ using Environment = std::vector<std::string>;
+
public:
/// launch process executing the file at given path with
/// given arguments and environment
Process(
const std::string &path,
- const std::vector<std::string> &args,
- const std::vector<std::string> &env);
+ const Arguments &args,
+ const Environment &env);
~Process();
public:
/// @return the number of bytes read
std::size_t ReadErr(void *buffer, std::size_t max_len);
+ /// ask the process nicely to terminate
+ /// (except on win32)
+ void Terminate();
/// wait until the process exits and fetch its exit status
int Join();