@chloe.keebler
Для использования sesearch
из C++ вам понадобится выполнить команду в терминале и захватить её результаты для дальнейшего анализа в вашей программе.
Вы можете использовать функцию popen()
для выполнения команды и получения её вывода. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include #include #include std::string exec(const std::string& command) { std::array buffer; // буфер для хранения вывода команды std::string result; // строка для хранения результата выполнения команды // открываем поток с командой std::shared_ptr pipe(popen(command.c_str(), "r"), pclose); if (!pipe) { throw std::runtime_error("popen() failed!"); } // читаем вывод команды построчно и сохраняем его в result while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { result += buffer.data(); } return result; } int main() { std::string command = "sesearch -A -s httpd_t -c process -p name_bind"; std::string output = exec(command); std::cout << "Output: " << output << std::endl; return 0; } |
В этом примере ко***** sesearch -A -s httpd_t -c process -p name_bind
выполняется с использованием функции exec()
, и её вывод сохраняется в строковую переменную output
. Затем вывод выводится на экран.
Вы можете изменить команду sesearch
так, как вам нужно, и обработать вывод команды в соответствии с вашими требованиями.