管道netstat输出多次

时间:2011-04-06 17:39:29

标签: macos bash pipe netstat

我希望每秒将Mac OS X中的当前网络流量[b / s]存储到一个文件中。

netstat -b -n 1 |awk '{print $3}' |tail -n +3 >traffic.txt

应该我想要 - 但第二个管道似乎是缓冲的,我需要尽快得到结果。

如果我只使用一个烟斗,一切都很好,但我最多需要这三个。

ulimit -p 0不起作用(未实施?)。还有其他方法可以避免缓冲吗?

2 个答案:

答案 0 :(得分:2)

默认情况下,

awk将缓冲其输出。致电fflush()进行冲洗。

netstat -b -n 1 |awk '{print $3;fflush()}' |tail -n +3 >traffic.txt

答案 1 :(得分:1)

管道缓冲区,当它们到达时它们将发送数据。我不知道如何加速它们。

另外,你的意思是>> traffic.txt到底是什么时候?您的解决方案将截断,附加两个尖括号。