Здравствуйте, Sinclair, Вы писали:
S>Из того, что я понял в рассуждениях ИИ, дочерний процесс должен как-то отловить момент окончания родительского, и переоткрыть stdout для продолжения работы.
Ну это технически в Windows не так сложно. При запуске чайлда можно передать ему ID родителя(ну хотя бы через командную строку, кстати, отсутствие его в командной строке будет тем самым означать, что что чайлд запущен не этим родителем, а как-то иначе ), а чайлд по нему получит hParentProcess в контексте чайлда и будет в потоке WaitForSingleObject.
Наверняка в Linux есть аналогичное, а может, в нынешней C++ есть и кроссплатформенное решение.
>По идее, если у него есть способ узнать, что выход закрыт, то он может просто больше ничего не писать в stdout.
Может, дождавшись, больше и не писать. Может с помощью freopen на свой stdout перенаправить его куда-то еще.