168

My macbook pro running Snow Leopard stopped making sounds a couple hours ago. I've found other reports of people with sounds working through headphones, but that's not the problem I'm seeing. I get no sound when my headphones are plugged in either.

I'm wondering if there's a LaunchAgent or LaunchDaemon to restart which would remedy this. I've already tried killing the coreaudio daemon (and it dutifully automatically restarted) but that didn't fix it.

I need to reboot for an OS update, so I think that'll probably rectify things.

Is there another way?

0

6 Answers 6

304

You can kill the CoreAudio process by opening Terminal and running sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`. It will restart automatically after a couple seconds.

That fixes some problems my aging MBP has been having, where it sometimes fails to detect headphones or decides the speakers aren't connected. No guarantees it will work for every audio problem, but it's worth a shot.

Source: zakgreant on macosxhints forums.

3
  • 101
    sudo pkill coreaudiod
    – berto
    Mar 7, 2016 at 18:12
  • DO NOT use kill -9 unless the process is not responding. Nov 27, 2018 at 15:46
  • This worked for me with zsh: sudo kill -9 $( ps aux | grep 'coreaudio[a-z]' | awk '{print $2}' )
    – jxmorris12
    Jan 11, 2021 at 4:22
82

sudo pkill -9 coreaudiod kills the coreaudio process immediately. MacOS will automatically restart the coreaudio daemon, which will fix audio output in most cases.

This works on all MacOS versions.

1
  • 3
    This should be the accepted answer. No need for awk shenanigans.
    – jottr
    Jul 29, 2020 at 17:10
33
sudo kextunload /System/Library/Extensions/AppleHDA.kext 

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

These two commands will unload then reload the audio kernel extension. This is cleaner than sending a kill signal but might need an adjustment for newer OS.

0
14

I am on 10.9.2 and have the same problem. Since there are two answers, I wanted to document my findings:

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

These two commands will unload then reload the audio kernel extension. This post fixes my problem 100% of the time, So please upvote that original post

This solution did not work for me:

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`

It shuts down the internal speakers and sends the sound to my 27" monitor but does not bring back the sound to my internal speakers or headset. Perhaps in some cases it works, but hopefully this post might explain when to use one solution vs the other.

2
  • 1
    Apple High Definition Audio kext? Neat, I would not have figured that acronym without this context. Apr 3, 2014 at 7:26
  • IMHO, the 'kill -9 `ps ax|grep 'coreaudio...' should always work without the need for a reboot. The restarted coreaudio daemon may pick an audio device which it finds first (no idea how the audio device is selected in that case), but you can reset to the wanted audio device by 'System Preferences...' -> 'Sound' settings. Also, for a browser session, you might need to select the appropriate audio device as well.
    – huch
    Nov 6, 2018 at 7:11
3

In my experience, a reboot is required to fix this. It's a poor fix since it seems to recover from the failure and not address the root cause. I would like to have, but have not yet discovered if there is another quicker/simpler method to get sound back...

0

Use killall command with _coreaudiod user as parameter:

echo -e "# CoreaudioD restart\nalias audiorestart=\"sudo killall -u _coreaudiod -SIGKILL\"\n" >> ~/.bashrc
source ~/.bashrc
audiorestart

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .