当我吹管的时候网猪输出延迟太长(大约 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