Некоторое время я гуглил, пытаясь найти терминальную команду, которая может выводить общее количество КБ / с IN и OUT для Wi-Fi (en0).

Команда не может использовать sudo, поэтому lsof отсутствует.

Я пытался использовать netstat с параметром -w, но команда будет выполняться скриптом, который автоматически обновляется, поэтому существует конфликт с использованием -w.

То, что я собираюсь сделать, это повторить вывод данных Activity Monitor, data sent/sec , но с помощью терминальной команды, которая может повторяться каждую секунду.

1 ответ1

0

Как вы упомянули, самый простой способ отслеживать сетевой трафик каждую секунду - это netstat -w 1 .

Тем не менее, кажется, что вы хотите иметь какой-то другой скрипт, который называется (?) каждую секунду и, возможно, анализирует вывод netstat?

Как насчет передачи вывода из netstat в файл, например netstat -w 1 > /tmp/netstat_output.txt &? Запустите это один раз (или как агент запуска), а затем просто попросите другой скрипт проверить вывод (например, tail -1 /tmp/netstat_output.txt). Если ваш скрипт действительно будет повторяться / вызываться каждую секунду, есть вероятность, что вы прочитаете одну и ту же строку дважды (если разность времени между двумя запусками вашего скрипта короче, чем разность времени вывода netstat).

Простейшим вариантом будет netstat -w 1 , и пусть netstat выполняет обновление, но не повторяет / обновляет вызывающий скрипт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .