59 std::function<std::optional<std::vector<std::uint8_t>>(
int child_process_id)>;
72 explicit operator bool() const noexcept {
return handle_ >= 0; }
77 std::intptr_t handle_ = -1;
86 std::chrono::steady_clock::time_point deadline)>;
103 const
std::vector<
std::
string>& args,
107 bool start(
const std::string& command,
108 const std::vector<std::string>& args,
114 std::span<const std::uint8_t> bytes,
129 const std::vector<std::string>& args,
153 bool start_impl(
const std::string& command,
const std::vector<std::string>& args,
155 const std::span<const std::uint8_t>* standard_input,
160 std::unique_ptr<Impl> impl_;
165 const std::vector<std::string>& args = {},
166 int timeout_ms = 30000);
169std::optional<std::filesystem::path>
find_on_path(
const std::string& binary_name);