2013-09-19 06:59:16 +0000 2013-09-19 06:59:16 +0000
83
83

"重新加载 "Mac音频驱动程序,无需重启

我有一个外部音频接口(M-audio fast track c400)。为了让我的Macbook识别它(在音频/MIDI设置中显示),我必须重新启动,这很麻烦。我有其他的m-audio接口,当连接时自动检测,我敢肯定这一个应该是相同的。互联网上的大多数帖子都建议更新操作系统或设备的软件/固件。我已经做了所有这些,但没有任何运气。我目前正在运行OS X 10.8.5。

有什么方法可以强制OS X重新加载设备?最好是一些命令行的巫术,我可以在需要的时候快速启动,或者用一个漂亮的小shell脚本来完成。

编辑:进展……

问题似乎已经解决了… … 我不知道下面的方法是如何解决这个问题的。如果你知道,请评论!

受 @sbugert 的回答启发,我开始研究其他系统守护进程,如果重启的话,可能会有效果。作为一针强心剂,我杀死了coreservicesd。这导致操作系统变得明显不稳定,我最终自动注销了。令我惊讶的是,当我重新登录时,我的音频接口被识别了。

基于此,我推测杀死coreservicesd并注销/进入可能是一个可能的(丑陋的)变通方法。于是我拔掉接口,再插回去,和预期的一样,它没有被识别。于是我杀死了coreservicesd,并尝试注销,然而由于杀死coreservicesd造成的不稳定,我无法让系统注销。最后我被迫进行 “硬 "关机(即按住电源键直到关机)。再次启动macbook后,现在每次插上电源都能自动识别接口。我怀疑这个 "硬 "重置可能已经解决了这个问题,而没有核心服务守护进程的所有诡计,但我没有办法测试。

如果有谁能对此有所了解,请予以说明!

编辑:它又停止工作了,所以我不知道是怎么回事。

答案 (4)

101
101
101
2014-04-17 15:33:52 +0000

EDIT:很可能只适用于10.13之前的osx

这是你需要的,

sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext

但如果你想把你的coreaudio也杀掉,

ps aux | grep 'coreaudio[d]' | awk '{print $2}' | xargs sudo kill

慎用。
grep目标是专门这样写的,是为了排除在grep出的grepping ps进程本身。

77
77
77
2013-09-19 13:31:42 +0000

试着在终端上输入这个。

sudo killall coreaudiod

这将杀死coreaudio进程并重新启动它。

0
0
0
2014-01-07 03:10:12 +0000

同样的解决方案,但有不同的变化

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`
```。
-1
-1
-1
2019-06-28 23:23:16 +0000

在这里我发现,如果我在断开接口之前选择了另一个设备(快轨C400也是),以后再连接就没问题了。但如果我在使用快速通道,然后断开它,它就不能再连接,直到重新启动它。