我想將Mac OS X中的當前網絡流量[b/s]存儲到文件中,每秒一次。Pipe netstat輸出多次
netstat -b -n 1 |awk '{print $3}' |tail -n +3 >traffic.txt
應該確實想我要 - 但第二管道似乎緩衝,我儘快所需要的結果。
如果我只使用一個管道,一切都很好,但我最多需要這三個。
ulimit -p 0
不起作用(未實施?)。有沒有其他方法可以避免緩衝?
我想將Mac OS X中的當前網絡流量[b/s]存儲到文件中,每秒一次。Pipe netstat輸出多次
netstat -b -n 1 |awk '{print $3}' |tail -n +3 >traffic.txt
應該確實想我要 - 但第二管道似乎緩衝,我儘快所需要的結果。
如果我只使用一個管道,一切都很好,但我最多需要這三個。
ulimit -p 0
不起作用(未實施?)。有沒有其他方法可以避免緩衝?
awk
默認會緩衝其輸出。撥打電話fflush()
來刷新它。
netstat -b -n 1 |awk '{print $3;fflush()}' |tail -n +3 >traffic.txt
管道是緩衝區,他們會在數據發送時發送數據。我不知道如何加速他們。
另外,你的意思是>> traffic.txt
在最後?您的解決方案將截斷,兩個尖括號附加。
就是這樣!非常感謝。 – 2011-04-06 22:53:36