绿色指示灯亮着说明有app正在后台调用摄像头,需立即排查;可通过控制中心查看当前使用者、活动监视器定位进程、系统权限列表筛查潜在调用者,或用终端命令导出全部授权快照。

当你发现Mac摄像头旁的绿色指示灯亮着,但没打开FaceTime或Zoom这类明显用到摄像头的应用时,说明有App正在后台悄悄调用摄像头——必须立刻定位并确认是哪个App在占用。
看硬件绿灯判断是否真被占用
先抬头看屏幕右上角或摄像头边上的绿色小灯:只要它亮着,就代表摄像头正在被某个进程实时读取画面。这不是软件模拟,而是由主板电路直控的物理信号,【任何App或恶意软件都无法关闭或伪造这盏灯】。灯灭=绝对安全;灯亮=必须排查。
注意:哪怕App窗口最小化、切换到其他桌面,甚至藏在程序坞里没图标高亮,只要没彻底退出,绿灯就可能持续亮起。
用控制中心快速查当前使用者
点击菜单栏右上角的控制中心图标(音量/亮度旁那个小圆点)→ 展开后直接看顶部横条。
如果横条显示“摄像头 正在使用”,后面跟着一个App名称(比如“Safari”或“Slack”),那就是它了。点这个横条能一键跳转到“隐私与安全性”设置页,方便你当场关权限。
这个提示只显示当前正在调用摄像头的App,不显示已授权但没运行的App,所以结果干净直接,不用翻列表。
用活动监视器精准定位进程
这一步能抓到控制中心没列出来的“隐形占用者”,比如虚拟摄像头插件、录屏工具后台服务,甚至某些未签名的小众App。
第一步:按 Command + 空格,输入“活动监视器”回车启动。
第二步:点击顶部菜单栏“查看” → “列” → 勾选“摄像头”。如果没看到这列,先点进程列表标题栏右侧的齿轮图标,再手动勾选“摄像头”。
第三步:在新出现的“摄像头”列里,找值为“是”或非空的行。重点关注名字含 VDCAssistant、AppleCameraAssistant、AVCapture 或 VDC 的进程——这些不是普通App,而是系统级摄像头服务代理,一旦卡住就会让整个设备被锁死。
第四步:选中可疑进程 → 点左上角红色“×”按钮 → 选择“强制退出”。退出后立刻观察绿灯是否熄灭。如果灯还亮,说明还有别的进程在占。
查系统权限列表筛出所有潜在调用者
系统设置里的权限列表不会告诉你谁“正在用”,但它列出了所有曾经申请过摄像头权限的App,是排查范围的完整底稿。
方法一:点击苹果菜单 → “系统设置” → 左侧“隐私与安全性” → 右侧“摄像头”。列表里每个开关开启的App,都具备调用资格。
方法二:如果用的是macOS Monterey或更早系统,路径是“系统偏好设置” → “安全性与隐私” → “隐私”标签页 → 左侧选“摄像头”。
【注意:列表里没出现的App,不代表它没在用——可能是通过网页、PWA或未签名二进制绕过了TCC框架】
方法三:Safari里以PWA方式安装的网页应用(如Google Meet网页版、Notion Web Clipper)权限独立于系统列表之外。必须单独打开该网页App → 点地址栏锁图标 → “网站设置” → 查“摄像头”项。
用终端命令导出全部授权快照
终端指令能绕过图形界面,直接读取系统底层TCC数据库,输出一份带时间戳的完整授权记录,连已被卸载但残留权限的App都会列出来。
打开“终端” → 输入:tccutil list Camera → 回车。
你会看到类似这样的输出:
com.apple.FaceTime → allowed
com.google.Chrome → denied
org.mozilla.firefox → allowed
com.zoom.us → allowed
每一行代表一个Bundle ID及其当前授权状态。allowed表示已授予权限,denied表示拒绝,empty表示从未请求过。这个清单和系统设置里看到的一致,但更原始、不可篡改。
如果想进一步筛选活跃进程,可追加命令:ps aux | grep -i "avcapture\|vdc",直接列出所有正在调用摄像头API的进程名。











