Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
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.