LINUX.ORG.RU

Интерактивный вывод выхода подпроцесса (QT).


0

0

Хочу выводить в окошко QTшной программы вывод запускаемого консольного процесса, причем в непрерывном режиме (типа tail).

Мысль: сделать пайп, на него перенаправить выход подпроцесса. Из
запускающей QT-программы (далее -- интерфейса) по таймеру вычитывать все, что сыпется в пайп и выводить, куда следует.

Делал через:

1) popen() | ( pipe() + ( execl() |system() ) ) -- работает, НО вешает интерфейс до окончания работы подпроцесса.
Естественно, выводит что-то только после...

2) fork() + pipe() + dup2(). Вылетает с какой-то QTшной руганью.
Где копать?


Poprobui ispol'zovat' select() Naskol'ko ja ponjal ty chitaesh s pipe a dannyh tam net, i process padaet v sleep. Ispol'zovanie select pozvolit opredelit' est' li dannye, etc.

tvn
()

Можно и пайп, особенно именованый Прочитай в клиенте, что послано, и если прислано "close" или еще чего - сделай что просят

Bix
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.