Я хочу запустить процесс внутри программы на C++ и иметь возможность захватывать его stdout, stderr во время существования процесса (я разобрался с частью stdin). Для этого я использую boost.process (1.81.0) в Ubuntu 22.04 (но я хочу, чтобы решение было кроссплатформенным). В конечном счете, я хочу создать свой собственный ssh (просто для развлечения), поэтому мне нужно иметь возможность управлять стандартными выводами оболочки и stderr. Я запускаю test_program внутри процесса_control и хочу видеть выходные данные stdout и stderr в реальном времени, но они фиксируются только после завершения test_program, что и происходит. когда я подаю end в качестве входных данных. Вот примеры кода упомянутых программ:
process_control.cpp
Код: Выделить всё
#include
#include
#include
#include
#include
int main() {
using namespace boost;
std::string output{};
std::string error{};
asio::io_service ios;
std::vector vOut(128
Подробнее здесь: [url]https://stackoverflow.com/questions/76030598/how-to-get-live-view-of-stdout-and-stderr-of-process-which-was-created-in-c-pr[/url]