macos automator 可通过调用 nettop、ifconfig、networkquality 和快捷指令实现进程级带宽快照、有线网卡瞬时速率监控、理论带宽测试存档及 wi-fi 吞吐估算提醒。
macos 自带的 automator 本身不直接采集网络数据,但它可以串联终端命令、脚本和通知机制,构建轻量级带宽监控流程。适合不需要常驻图标、但需周期性记录或异常提醒的运维场景,比如服务器备份时段监测、远程办公带宽波动告警等。
用 Automator 调用 nettop 实现进程级带宽快照
nettop 是 macOS 原生终端命令,能每秒刷新各进程的实时收发字节数,比活动监视器更细、延迟更低。Automator 可将其输出定期捕获并保存为日志:
- 新建 Automator 工作流程,选择“快速操作”或“应用程序”类型
- 添加“运行 Shell 脚本”操作,Shell 选 /bin/zsh,传递输入选“无”
- 脚本内容填入:
nettop -P -L 1 -n -t 5 | grep -E "^(PID|chrome|zoom|backupd)" | head -20 >> ~/Desktop/network-log-$(date +%Y%m%d).txt - 该命令抓取前 5 秒内 top 进程的流量(含 Chrome、Zoom、系统备份进程),追加到桌面日期命名的日志中
- 保存为应用后双击运行,或通过“调度”App 设置定时执行
结合 ifconfig + watch 实现有线网卡瞬时速率监控
若需监控以太网(如 en0/en1)的物理层吞吐,可用 ifconfig 手动计算每秒收发字节数。Automator 可封装成一键查看流程:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 新建工作流程,添加“运行 Shell 脚本”
- 脚本中先确认网卡名:
NIC=$(networksetup -listallhardwareports | awk '/Device:/ && !/Bluetooth/ {print $2; exit}') - 再获取当前 RX/TX 字节数:
RX_NOW=$(ifconfig $NIC | awk '/RX Bytes/ {print $3}'); TX_NOW=$(ifconfig $NIC | awk '/TX Bytes/ {print $3}') - 最后用通知显示结果:
osascript -e 'display notification "RX: '"$RX_NOW"' B, TX: '"$TX_NOW"' B" with title "网卡 '$NIC' 流量" - 此流程可设为快捷键触发,5 秒内快速获知有线口累计流量
用 Automator 触发 networkQuality 并结构化存档
networkQuality 不是实时网速,但能测出当前链路的理论上下行能力(接近签约带宽)。Automator 可自动执行、解析并归档结果:
- 添加“运行 Shell 脚本”,脚本内容为:
RESULT=$(networkQuality 2>/dev/null); DL=$(echo "$RESULT" | grep dl_target_bitrate | cut -d' ' -f2); UL=$(echo "$RESULT" | grep ul_target_bitrate | cut -d' ' -f2); echo "$(date): DL=$(printf "%.1f" $(echo "$DL/1000000" | bc -l)) Mbps, UL=$(printf "%.1f" $(echo "$UL/1000000" | bc -l)) Mbps" >> ~/Documents/bandwidth-test.log - 脚本会运行测试、提取 Mbps 数值、格式化后追加到日志文件
- 搭配“日历”或“调度”App,可每天上午 9 点自动执行一次,形成带宽基线记录
搭配快捷指令实现 Wi-Fi 瞬时速率弹窗提醒
Option+Wi-Fi 图标看到的速率是驱动层最真实的瞬时值,但无法自动化。不过可通过快捷指令 + AppleScript 模拟人工操作逻辑,并用 Automator 调用:
- 在“快捷指令”App 中新建指令,添加“运行 AppleScript”操作
- AppleScript 内容:
set wifiInfo to do shell script "system_profiler SPNetworkDataType | awk -F': ' '/\*\*.*Wi-Fi/{f=1;next} f && /Received Data\/sec/{print $2; exit}' 2>/dev/null" - 该脚本从系统报告中粗略提取 Wi-Fi 接收速率(非实时但稳定可用)
- 将快捷指令导出为 .shortcut 文件,在 Automator 中用“运行快捷指令”操作调用
- 设置为菜单栏服务后,右键菜单即可一键查看当前 Wi-Fi 吞吐估算值










