LINUX.ORG.RU

Написание front-end-ов


0

0

Всем привет!

Есть исполняемый бинарник с выводом определенного формата. Требуется написать для него front-end. Я использую связку Perl+Tk. Форкаюсь. В потомке переназначаю STDOUT на заранее созданный fifo-файл и включаю autoflush. Выполняю exec с бинарным файлом. В родителе открываю fifo-файл и просто считываю оттуда информацию. Все классно, я получаю вывод, но... Но только когда отработает бинарник. Не по мере поступления, а только тогда, когда он закончится. Меня же интересует его вывод во времени. Что я делаю не так?

#!/usr/bin/perl

use IO::Handle;

#Ла-ла-ла # #

if($pid = fork()){ open(STDIN,"<uploader.fifo"); while(<STDIN>){ if(/kB sent/){ #Полезные действия } } }elsif(defined($pid)){ open(STDOUT,">uploader.fifo"); STDOUT->autoflush(1); exec("./uploader -t -f $file rstp://$ip:$port/$virtual_disk/$_ $ip $port"); }


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