Труба netstat выводится несколько раз - PullRequest
1 голос
/ 06 апреля 2011

Я хочу сохранять текущий сетевой трафик [b / s] в Mac OS X в файл один раз в секунду.

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

должен действительно хочу, чтобы я хотел - но второй канал, похоже, буферизован, и мне нужны результаты как можно скорее.

Если я толькоиспользуйте одну трубу, все хорошо, но мне нужно не больше этих трех.

ulimit -p 0 не работает (не реализовано?).Есть ли другой способ избежать буферизации?

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

awk будет буферизовать свой вывод по умолчанию.Звоните fflush(), чтобы очистить его.

netstat -b -n 1 |awk '{print $3;fflush()}' |tail -n +3 >traffic.txt
1 голос
/ 06 апреля 2011

Трубы являются буферами, и они будут отправлять данные, когда доберутся до него.Я не знаю, как их ускорить.

Кроме того, вы имели в виду >> traffic.txt в конце?Ваше решение будет усечено, добавятся две угловые скобки.

...