subprocess
0.2.0
Modern subprocess library for c++
|
Go to the documentation of this file.
3 #include <initializer_list>
129 int wait(
double timeout=-1);
154 PROCESS_INFORMATION process_info;
215 CompletedProcess
run(Popen& popen,
bool check=
false);
RunOptions options
Definition: ProcessBuilder.hpp:229
bool send_signal(int signal)
CommandLine command
Definition: ProcessBuilder.hpp:230
RunBuilder & check(bool ch)
Definition: ProcessBuilder.hpp:238
std::string windows_args()
double monotonic_seconds()
const PipeHandle kBadPipeValue
Definition: basic_types.hpp:68
RunBuilder & cout(const PipeVar &cout)
Definition: ProcessBuilder.hpp:242
CompletedProcess run(Popen &popen, bool check=false)
PipeOption cerr_option
Definition: ProcessBuilder.hpp:176
Popen()
Definition: ProcessBuilder.hpp:70
void close_cin()
Definition: ProcessBuilder.hpp:143
int returncode
Definition: ProcessBuilder.hpp:100
PipeOption cout_option
Definition: ProcessBuilder.hpp:175
PipeVar cin
Definition: ProcessBuilder.hpp:34
Popen run()
Definition: ProcessBuilder.hpp:188
void pipe_ignore_and_close(PipeHandle handle)
constexpr int kBadReturnCode
Definition: basic_types.hpp:81
PipeVar cerr
Definition: ProcessBuilder.hpp:46
CommandLine args
Definition: ProcessBuilder.hpp:101
RunBuilder & cerr(const PipeVar &cerr)
Definition: ProcessBuilder.hpp:244
PipeHandle cout
Definition: ProcessBuilder.hpp:91
Definition: ProcessBuilder.hpp:277
Definition: ProcessBuilder.hpp:228
RunBuilder & cwd(std::string cwd)
Definition: ProcessBuilder.hpp:246
std::vector< PipeHandle > child_close_pipes
Definition: ProcessBuilder.hpp:167
PipeHandle cerr
Definition: ProcessBuilder.hpp:95
Popen run_command(const CommandLine &command)
PipeOption
Definition: basic_types.hpp:87
int PipeHandle
Definition: basic_types.hpp:61
RunBuilder & new_process_group(bool new_group)
Definition: ProcessBuilder.hpp:252
void ignore_output()
Definition: ProcessBuilder.hpp:108
pid_t pid
Definition: ProcessBuilder.hpp:98
void start()
Definition: ProcessBuilder.hpp:281
double sleep_seconds(double seconds)
Definition: ProcessBuilder.hpp:67
PipeHandle cerr_pipe
Definition: ProcessBuilder.hpp:171
int wait(double timeout=-1)
StopWatch()
Definition: ProcessBuilder.hpp:279
::pid_t pid_t
Definition: basic_types.hpp:62
CommandLine command
Definition: ProcessBuilder.hpp:182
std::string cwd
Definition: ProcessBuilder.hpp:52
void ignore_cout()
Definition: ProcessBuilder.hpp:104
RunBuilder & env(const EnvMap &env)
Definition: ProcessBuilder.hpp:248
double timeout
Definition: ProcessBuilder.hpp:60
bool new_process_group
Definition: ProcessBuilder.hpp:49
Definition: ProcessBuilder.hpp:24
std::string windows_command()
Popen & operator=(const Popen &)=delete
PipeVar cout
Definition: ProcessBuilder.hpp:40
EnvMap env
Definition: ProcessBuilder.hpp:180
std::map< std::string, std::string > EnvMap
Definition: basic_types.hpp:84
PipeOption cin_option
Definition: ProcessBuilder.hpp:174
double seconds() const
Definition: ProcessBuilder.hpp:282
std::variant< PipeOption, std::string, PipeHandle, std::istream *, std::ostream *, FILE * > PipeVar
Definition: PipeVar.hpp:22
Definition: basic_types.hpp:148
bool pipe_close(PipeHandle handle)
PipeHandle cin_pipe
Definition: ProcessBuilder.hpp:169
void ignore_cerr()
Definition: ProcessBuilder.hpp:106
Definition: basic_types.hpp:19
Popen popen()
Definition: ProcessBuilder.hpp:264
std::vector< std::string > CommandLine
Definition: basic_types.hpp:83
PipeHandle cin
Definition: ProcessBuilder.hpp:87
PipeHandle cout_pipe
Definition: ProcessBuilder.hpp:170
RunBuilder()
Definition: ProcessBuilder.hpp:232
friend ProcessBuilder
Definition: ProcessBuilder.hpp:149
@ inherit
Inherits current process handle.
bool check
Definition: ProcessBuilder.hpp:28
RunBuilder(std::initializer_list< std::string > command)
Definition: ProcessBuilder.hpp:236
EnvMap env
Definition: ProcessBuilder.hpp:54
std::string cwd
Definition: ProcessBuilder.hpp:181
RunBuilder & timeout(double timeout)
Definition: ProcessBuilder.hpp:250
RunBuilder(CommandLine cmd)
Definition: ProcessBuilder.hpp:234
CompletedProcess run()
Definition: ProcessBuilder.hpp:259
RunBuilder & cin(const PipeVar &cin)
Definition: ProcessBuilder.hpp:240
Definition: ProcessBuilder.hpp:165
bool new_process_group
Definition: ProcessBuilder.hpp:178