Имя пользователя:
Пароль:
 

Название темы: нестандартный output
Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Вообще-то, хм... popen - это по сути, fork. Какая программа должна завершиться первой? Та, которая отпочковалась или та, которая слушает процесс?
В приведённом мной последнем куске кода строка if (retval == -1) break прекращает слушание, потому что программа-потомок судя по всему, окончила работу. feof для FILE* при этом вернёт true, кстати. Но лучше не рассчитывать на FILE*, а работать с select'ом Ей можно после этого выходить. Если же основная программа хочет выйти первой, то она просто должна посиснуть на проводе с помощью pclose. как pclose вернёт управление - потомка нет, можно и самой уходить.
Надеюсь, мысль понятна...

Отправлено: 14:37, 11-06-2004 | #16

Название темы: нестандартный output