31 bool separatePG =
false;
32 int killSignal = SIGKILL;
40 void operator =(pid_t pid);
52 void setSeparatePG(
bool separatePG);
53 void setKillSignal(
int signal);
74 std::string errorPrefix =
"";
75 bool dieWithParent =
true;
76 bool runExitHandlers =
false;
77 bool allowVfork =
false;
93 const Strings &
args = Strings(),
94 const std::optional<std::string> & input = {},
bool isInteractive =
false);
99 bool lookupPath =
true;
102 std::optional<uid_t> uid;
103 std::optional<uid_t> gid;
105 std::optional<Path> chdir;
106 std::optional<std::map<std::string, std::string>> environment;
107 std::optional<std::string> input;
108 Source * standardIn =
nullptr;
109 Sink * standardOut =
nullptr;
110 bool mergeStderrToStdout =
false;
111 bool isInteractive =
false;
119class ExecError :
public Error
124 template<
typename...
Args>
125 ExecError(
int status,
const Args & ...
args)
126 : Error(
args...), status(status)
Some ANSI escape sequences.
Definition file-descriptor.hh:152
This file defines two main structs/classes used in nix error handling.
std::function< void(Sink &)> fun
Definition lexer.l:3485
std::vector< Expr * > args
Definition lexer.l:6126
unsigned int status
Definition lexer.l:663
std::string statusToString(int status)
std::string runProgram(Path program, bool lookupPath=false, const Strings &args=Strings(), const std::optional< std::string > &input={}, bool isInteractive=false)
Definition processes.hh:73
int cloneFlags
Definition processes.hh:81
Definition processes.hh:97
Definition serialise.hh:20
Definition serialise.hh:68
std::string Path
Definition types.hh:22