Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Каким способом A перехватывает stdout дочернего B ?
Платформенно-специфичным.
На винде, к примеру, у CreateProcess есть специальные параметры для хэндлов stdin, stdout, stderr.
В линуксе используется комбинация из pipe(), fork(), и exec().
PD>ИИ на эту тему высказывается довольно длинно
Там смущает сама формулировка вопроса — она как будто бы уже подразумевает некоторое решение, а не поиск вариантов.
Из того, что я понял в рассуждениях ИИ, дочерний процесс должен как-то отловить момент окончания родительского, и переоткрыть stdout для продолжения работы.
По идее, если у него есть способ узнать, что выход закрыт, то он может просто больше ничего не писать в stdout.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.