Как избежать задержки в потоке выходного потока

Несмотря на то, что я отправляю nethogs , для вывода требуется слишком большая задержка (около 5-200 секунд вместо 1 секунды зависит от канала, cmd и т. Д.). Nethogs печатает вывод каждую секунду.

Для простоты рассмотрим следующую команду (она занимает около 5 секунд)

sudo nethogs ppp0 | grep e | grep e |grep c

Я верю, что это происходит из-за буферизации в трубе.

Как я могу избежать задержки (в общем или в случае нетхов ) ???

3
задан 12 February 2013 в 07:49

1 ответ

Наконец я нашел его. Это может быть сделано просто с помощью жемчуга.

perl -le 'open(P," top  |");  $|=1; while(<P>){ print }'

Возьмите пример

top | grep i | grep id
perl -le 'open(P," top  |");  $|=1; while(<P>){ print "------","$_"; }' | grep i | grep id

Для nethogs

perl -le 'open(P,"sudo nethogs ppp0 |");  $|=1; while(<P>){ print "------","$_"; }' |  grep e | grep e |grep c
0
ответ дан 12 February 2013 в 07:49

Другие вопросы по тегам:

Похожие вопросы: