Como evitar atraso no tubo do fluxo de saída

3

Enquanto eu pipe nethogs demora muito para a saída (cerca de 5-200 seg em vez de 1 seg dependem pipe, cmd etc). Nethogs imprime a saída a cada segundo.

Por uma questão de simplicidade, considere o seguinte comando (leva cerca de 5 seg)

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

Acredito que seja devido ao buffer no pipe.

Como posso evitar o atraso (em geral ou no caso de nethogs )

    
por totti 31.01.2013 / 09:30

1 resposta

0

Finalmente eu encontrei. Isso pode ser feito simplesmente usando perl.

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

Pegue o exemplo de

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

Para nethogs

perl -le 'open(P,"sudo nethogs ppp0 |");  $|=1; while(<P>){ print "------","$_"; }' |  grep e | grep e |grep c
    
por totti 22.01.2014 / 10:15

Tags