Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

While i pipe nethogs it takes too much delay for the output ( About 5-200 sec instead of 1 sec depend on pipe,cmd etc). Nethogs print output in every second.

For the sake of simplicity consider the following command ( it takes abt 5 sec )

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

I belive it due to the buffering in pipe.

How can i avoid the delay (In general or in the case of nethogs)???

share|improve this question

1 Answer 1

up vote 0 down vote accepted

Finally I found it. It can be done simply using perl. perl -le 'open(P," top |"); $|=1; while(<P>){ print }'

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

For nethogs
perl -le 'open(P,"sudo nethogs ppp0 |"); $|=1; while(<P>){ print "------","$_"; }' | grep e | grep e |grep c

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.