#pragma once #include #include #include #include #include #include #define SWAYBGPROCESS_BUFFER_SIZE 4094 class Process { public: Process(const std::string& execPath, const std::vector& args); ~Process(); void exec(); void kill(); int wait(); private: std::string execPath; std::vector args; pid_t pid; bool killed = true; int fds[2]; // file descriptors for pipe char buf[SWAYBGPROCESS_BUFFER_SIZE]; ssize_t nbytes; };