How to Fix Stuck macOS Processes via Terminal
Reset frozen macOS system processes like Dock, Finder, Bluetooth, and audio without rebooting using killall and launchctl.
Most frozen macOS UI issues resolve with a single Terminal command — no reboot required.
Quick Reference
| Symptom | Command | Risk |
|---|---|---|
| Menu bar frozen | killall SystemUIServer | Low |
| Control Center stuck | killall ControlCenter | Low |
| Notifications glitched | killall NotificationCenter | Low |
| Dock frozen | killall Dock | Low |
| Finder unresponsive | killall Finder | Low |
| Bluetooth flaky | sudo pkill bluetoothd | Low |
| Audio broken | sudo killall coreaudiod | Low |
| DNS not resolving | sudo killall -HUP mDNSResponder | Low |
| Preferences stale | killall cfprefsd | Medium |
| GUI completely stuck | sudo killall -HUP WindowServer | High |
System UI
Menu Bar Freeze
Menu bar icons stop responding, clock freezes, or status icons disappear.
1
killall SystemUIServer
SystemUIServer relaunches instantly via launchd. All menu extras reload.
Control Center Stuck
The Control Center overlay (Wi-Fi, Bluetooth, Display, Focus) stays visible or stops responding.
1
killall ControlCenter
Only applies to macOS Big Sur and later. The panel relaunches automatically.
Notification Center Glitches
Notifications stack incorrectly, the sidebar won’t dismiss, or widgets stop updating.
1
killall NotificationCenter
Dock Frozen
Dock stops responding to clicks, Spaces gestures break, or Mission Control hangs.
1
killall Dock
Dock, Spaces, and Mission Control all restart. Running apps stay open.
To fully reset Dock layout and preferences back to defaults:
1
defaults delete com.apple.dock; killall Dock
Warning: This resets all Dock customizations — app arrangement, size, auto-hide, and hot corners.
Finder Unresponsive
Finder windows won’t open, desktop icons vanish, or file operations hang.
1
killall Finder
Finder relaunches and restores open windows. In-progress file copies may fail.
Connectivity and Services
Bluetooth Issues
Devices won’t pair, audio cuts out on AirPods, or Bluetooth toggles without effect.
1
sudo pkill bluetoothd
The bluetoothd daemon restarts via launchd. Previously paired devices reconnect automatically.
Audio Problems
No sound output, crackling audio, or output device stuck on the wrong source.
1
sudo killall coreaudiod
All audio streams reset. Active playback (Spotify, YouTube) resumes within seconds.
For iOS Simulator-specific audio glitches, see Fix iOS Simulator Audio Glitches on macOS.
DNS Not Resolving
Websites fail to load while internet is connected, or stale DNS entries persist after switching networks.
1
sudo killall -HUP mDNSResponder
The -HUP signal flushes the DNS cache without fully terminating the process. Verify the cache is cleared:
1
sudo dscacheutil -flushcache
Stale Preferences
App settings revert, changes to System Settings don’t persist, or defaults write commands have no effect.
1
killall cfprefsd
Forces the preferences daemon to reload all .plist files. Pair with defaults write commands that aren’t taking effect.
GUI Reset
When the entire graphical interface is unresponsive — display artifacts, frozen login screen, or input stops working:
1
sudo killall -HUP WindowServer
Warning: This restarts the entire graphical session. All open applications close and unsaved work is lost. Use only when the alternative is a hard reboot.
When killall Isn’t Enough
Some system daemons don’t relaunch cleanly after killall. Use launchctl to explicitly restart the service.
1
2
3
# Stop and start a service
sudo launchctl stop system/com.apple.service_name
sudo launchctl start system/com.apple.service_name
Find the correct service name:
1
2
launchctl list | grep bluetooth
> - 0 com.apple.bluetoothd
Since macOS 14.4, Apple restricted launchctl kickstart -k for 150+ critical system processes. Use launchctl kill as the alternative:
1
2
# Send TERM signal to a launchd service
sudo launchctl kill SIGTERM system/com.apple.bluetoothd
Important Notes
- Most processes auto-relaunch via
launchd— killing them is effectively a restart - Commands with
sudoprompt for your admin password killallsendsSIGTERM(graceful shutdown) by default-HUPtells a process to reload configuration without full termination-KILL(or-9) forces immediate termination — use as last resort- SIP (System Integrity Protection) prevents killing some core processes on macOS 14+
☕ Support My Work
If you found this post helpful and want to support more content like this, you can buy me a coffee!
Your support helps me continue creating useful articles and tips for fellow developers. Thank you! 🙏