создаю канал. форкаю процесс. родителем пишу туда строки, а потомком пытаюсь считать.
Но после считывания первой строки потомок зависает в while. (while ждет определенной строки, чтобы завершить потомка, но строка-то всего одна считывается...).
В чема может быть проблема? Возможно что-то с O_NDELAY?
Если проблема неочевидна, могу записать кусок кода.
Спасибо.
Давай код или сюда или на мыло.
вроде удалось.
с помощью select.
А поподробнее можно? Мне надо из родительского процесса в дочерний данные передать. Родительский написан на c++, дочерний на Perl. За код на c++ я уверен. Код на Perl порождает кучу процессов и может завесить систему. Что делать?С уважением
я на Си писал... Селектом смарел есть ли в пайпе чего "почитать" и читал read'ом.man select
Не уверен но именнованный пайп наверно помогет отцу русской демократии
AKA mkfifo
Hi!
Скажите, а если между этими процессами (которые обмениваются данными) работает некоторый с другими задачами, то как эти данные все-таки сохранить для передачи? Через файл не подходит, как через память или какие потоки (которые "переживут" промежуточный процесс)?Всего хорошего!
С уважением, Dmitry.