mac终端查wi-fi掉线原因需用log stream实时捕获无线子系统日志,重点关注disassociate、link down等关键词;也可用log show回溯10分钟异常事件,或运行sysdiagnose生成完整诊断包分析。

Mac终端查看Wi-Fi掉线原因日志,需直接读取系统无线子系统实时日志流,而非翻查静态文件——因为macOS的airportd、mDNSResponder和kernel radio驱动的日志默认不落盘,必须用log命令实时过滤抓取关键事件。
用log stream实时捕获Wi-Fi断连瞬间日志
这一步能抓到“刚断开那1秒”内所有相关进程输出,比翻看历史日志更准。
① 打开“终端”,输入以下命令并回车执行:
log stream --predicate 'subsystem == "com.apple.networking.wifi" || process == "airportd" || process == "mDNSResponder"' --info --debug
② 等待3秒让日志缓冲建立,此时Wi-Fi仍应处于连接状态;【立刻手动触发一次断连:拔掉路由器网线5秒再插回,或关闭再开启路由器Wi-Fi开关】。
③ 断连发生后,紧盯终端输出中带“disassociate”、“link down”、“failed to associate”、“AWDL”、“RSSI”、“scan”字样的行——这些就是掉线的直接原因线索。例如出现“airportd[123]:
④ 按 Control + C 停止监听,避免日志持续滚动干扰判断。
快速筛选近期掉线记录(无需实时等待)
如果掉线已发生过几次,可用log show回溯最近10分钟内所有Wi-Fi异常事件。
在终端中输入:
log show --predicate 'subsystem == "com.apple.networking.wifi" && (eventMessage contains "disassoc" || eventMessage contains "down" || eventMessage contains "fail")' --last 10m --info --debug
这条命令会列出过去10分钟内所有含断开关键词的日志条目,按时间倒序排列,最新一条在最上方。
注意:若返回为空,说明系统未记录到明确断开事件,问题可能出在DHCP租约失效或mDNSResponder卡死,需转向其他排查路径。
方法一:用sysdiagnose生成完整无线诊断包
当log stream抓不到清晰线索时,sysdiagnose会打包包括airportd日志、内核无线状态、扫描历史、信道占用图在内的全套数据,适合发给专业支持复现分析。
按住 Shift + Control + Option + Command 四键,再按 句号(.) 键——屏幕左下角会出现“正在收集诊断信息…”提示。
等待约30秒,系统自动在“访达”→“文稿”文件夹中生成以日期命名的.zip压缩包,解压后打开“wifi”子目录,重点查看 airportd.log 和 system.log 中带“ERROR”或“WARNING”的行。
方法二:检查mDNSResponder是否卡死导致假性掉线
有些“掉线”其实Wi-Fi物理层仍连着,只是mDNSResponder不响应DNS请求,浏览器显示“无法连接服务器”。这时日志里看不到disassociate,但会有大量“mDNSResponder[456]: DNSServiceRefDeallocate called on NULL”类报错。
终端中运行:
log show --predicate 'process == "mDNSResponder" && eventMessage contains "NULL"' --last 5m
若有输出,说明mDNSResponder内部指针异常,立即执行 【sudo killall -HUP mDNSResponder】 重启服务即可恢复。











