Когда вы вызываете методы / функции для запуска команд system / shell, ваш интерпретатор порождает другой процесс для его запуска и ожидает его завершения, а затем выдает результат.
Даже если вы используете потоки, единственное, что вы могли бы сделать, - это не дать программе зависнуть во время выполнения команды, но вы все равно не получите вывод до ее завершения.
Я думаю, что вы можете сделать это с помощью труб, но я не знаю, как.
@ Марсель понял.