Я пытаюсь выполнить программу, которую я создал в popen, и затем собрать вывод.Программа, которую я выполняю, занимает 30 секунд (есть 30 снов (1) с), и через каждую секунду она отправляет куски вывода.Что меня озадачивает, так это то, что когда я звоню pipe = popen("test -flag", "r")
, он немедленно завершается, и канал потока FILE пуст.Являются ли мои предположения о том, что программа остановится и подождет, пока тест завершится, прежде чем продолжить, или она инициирует порядок сбора выходных данных и немедленно продолжит работу?Если это последнее, есть ли способ приостановить программу, пока канал не получит все выходные данные, прежде чем продолжить?
Спасибо!