如何避免输出流管道延迟

如何避免输出流管道延迟

当我吹管的时候网猪输出延迟太长(大约 5-200 秒,而不是 1 秒,取决于管道、cmd 等)。Nethogs 每秒打印一次输出。

为了简单起见,请考虑以下命令(大约需要 5 秒)

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

我相信这是由于管道缓冲造成的。

我怎样才能避免延迟(在一般的网猪案)???

答案1

终于找到了。只需使用 perl 即可完成。

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

相关内容