LINUX.ORG.RU

fork + popen = хрень какаято :(


0

0
ЗДраствуйте.

Приложение открыло pipe, форкнулось. У ребенка один конец pip'а для записи , у родителя для чтения. Ребенок каждые там 10 сек посылает что он жив и все ок. Далее ребенок пробует открыть popen'ом и прочитать из вывод другого бинарника.

В резалте оно падает.

Собсно хоца узнать, из за чего падает(ИЛИ МОЖЕТ ПАДАТЬ). Может быть сигналы какие то нельзя обрабатывать, или что то использовать? Или pipe нельзя открывать?

Маны читал в popen'e ничего не сказанно что что то нельзя делать.

Спасибо.

★★★
>Далее ребенок пробует открыть popen'ом и прочитать из вывод другого бинарника.

Это на каком языке предложение? :)

klon
()
Ответ на: комментарий от klon
=) Извиняюсь за сумбурность. Имеется ввиду, что порожденный процесс использует системную ф-цию popen для запуска другого процесса.
fura13 ★★★
() автор топика
Ответ на: комментарий от klon
В каком месте падает? Что говорит gdb?

Попробуй без лишних форков, просто на тестовом примере...

klon
()
Телепаты в отпуске.

Как простая гадалка, скажу, что, скорее всего, прибивается сигналом SIGPIPE (broken pipe). Попробуй его проигнорировать (и в папе тоже).

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous
popen - это функция, которая,в частности помимо всего прочего, сама дергает fork и даже потом exec
Nesk
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.