Как получить просмотр в реальном времени stdout и stderr процесса, созданного в программе на C++?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как получить просмотр в реальном времени stdout и stderr процесса, созданного в программе на C++?

Сообщение Anonymous »

Я хочу запустить процесс внутри программы на 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]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»