Answers:
我最好的猜测是iChat Agent在后台运行。
如果没有,请尝试:
lsof | grep -i "AppleCamera"
在OS X的早期版本(优胜美地之前)中,应使用以下命令:
lsof | grep -i "iSight"
在2014年,将其VDC
用作以下lsof
搜索词:
$ lsof | grep VDC
FaceTime 1097 user txt REG 1,4 405264 2934 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC
lsof
是一个很好的选择。尝试使用“ VDC”可以获得最佳效果,但是在旧版本的OSX中,您可能必须使用其他术语“ AppleCamera”,“ iSight”。
然后,您有一个列表,您看到几个程序正在使用该凸轮。您可以尝试一一杀死它们,但是如果浏览器中有一个并且打开了一百万个标签,该怎么办?
通常,这个技巧对我有用:
结果是所有尝试使用相机的过程都被暂时断开。这可以处理由于某些故障而导致相机持续使用的过程。VDCAssistant自动重新启动。
如果程序无法访问相机,此技巧也很有用。
我刚刚发现最小化Facetime会导致iSight LED经常点亮。单击左上角的红色按钮关闭FaceTime。您仍然会收到FaceTime通话,但是只有当它们进来时才会打开相机。
iSight / AppleCamera现在已重命名为FaceTime
lsof | grep -i "FaceTime"
可能是root用户,以防其他人正在使用它。通常这是最小化的工作时间。打开并退出。
借用iwein提出的出色解决方案,但简化并使其可编写脚本,您可以执行以下操作:
sudo pkill 'VDCAssistant'
然后,您可以将其放入函数中以使其更容易记住:
repocam () {
sudo pkill 'VDCAssistant'
}
您可以将该函数放入.zshrc
文件.bashrc
或任何您使用的文件中。
超出范围但值得追求:
您甚至可以设置一个cron作业或启动的代理程序,或任何您想要的(经常使用Google!)来运行它。如果您可以找出引发该问题的应用程序(例如HipShat),则可以找到退出该应用程序时运行该问题的方法。
当您的计算机唤醒或进入睡眠状态时,也可以触发脚本。
您还可以使用监督应用程序:https : //objective-see.com/products/oversight.html
监督应用程序可以检测其他一些应用程序是否正在使用您的相机或麦克风,提醒您,然后您可以选择阻止,保留它或将其添加到白名单中。
lsof
不显示与是否使用过iSight相关的任何信息。