MEGAKILLESDownload free

killall on Mac: Kill Apps and Processes by Name

macOS guide · Last updated July 13, 2026

killall kills processes by name. Type killall plus the exact process name in Terminal: killall Safari, or killall "Google Chrome" for names with spaces. It is case-sensitive, so killall Dock works and killall dock fails. It sends a polite SIGTERM by default; use killall -9 only as a last resort.

killall is the one-liner Mac users reach for when an app hangs, the Dock freezes, or the menu bar clock stops moving. One command, no process list, no clicking through dialogs. It is also the command people get wrong most often, because it is picky about names in ways nobody warns you about. Here is how it works on macOS, the handful of killall commands worth memorizing, and what to do when it comes back with nothing.

What killall is (and how it differs from kill)

macOS ships two commands for ending processes, and the difference is the whole story. kill targets one process by its PID, the ID number you dig up with pgrep or Activity Monitor, as in kill -9 5821. killall targets processes by name and signals every match at once, as in killall Safari.

In practice that makes killall the human-friendly one. You already know the app is called Safari; you do not know it is PID 5821 today and PID 3300 after the next reboot. The trade-off is precision: if three processes share a name, killall hits all three. Both commands are part of the same escalation ladder covered in our guide on how to kill an app on Mac, which also walks through the graphical options.

The syntax: killall AppName

Open Terminal from Applications → Utilities and type killall followed by the process name:

Two rules save you most of the pain. First, killall is case-sensitive: killall Dock restarts the Dock, killall dock finds nothing. Second, it matches the process name, which is not always the name under the app's icon. Music runs as Music, but some apps ship a process name that differs from the marketing name. When in doubt, run something like pgrep -l Chrome or read the name straight from Activity Monitor before you shoot.

The four killall commands everyone actually runs

These four fix real problems, and all four targets are system processes that launchd relaunches automatically about a second after they die. You are not breaking anything; you are turning it off and on again, minus the reboot. No open apps or files are touched.

killall Dock

killall Dock restarts the Dock. Use it when the Dock stops responding, icons freeze mid-bounce, or auto-hide gets stuck. Bonus that surprises people: the Dock process also runs Mission Control and the app switcher, so this same command un-freezes a stuck Mission Control or a ⌘Tab switcher that stopped drawing.

killall Finder

killall Finder relaunches the Finder, the same thing the Force Quit window does when you select Finder and click Relaunch. Use it when Finder windows stop opening, the desktop stops refreshing, or copy operations hang forever at "a few seconds remaining".

killall SystemUIServer

killall SystemUIServer restarts the veteran menu bar process, the classic prescription when status icons misbehave. One catch on modern macOS: since Big Sur, the clock and the Wi-Fi and battery icons are drawn by Control Center, so when those freeze, the command that actually revives them is killall ControlCenter. Both relaunch automatically, so trying one and then the other costs you two seconds. A third-party menu bar icon that ignores clicks is a different animal: it lives inside its own app's process, so restart that app instead.

killall cfprefsd

killall cfprefsd restarts the preferences daemon, the process that caches every app's settings (the plist files) in memory. Use it when settings act haunted: you change a preference and it does not stick, or an app keeps reading a value you already changed. Restarting cfprefsd flushes the cache so everything rereads preferences from disk.

sudo killall and signals: how hard are you hitting?

By default killall sends SIGTERM, the polite signal. It asks the process to quit, and a healthy app will save state, close files, and exit cleanly. That is why plain killall is closer to ⌘Q than to a force quit.

When a process ignores SIGTERM, escalate: killall -9 Safari sends SIGKILL, which the process cannot catch, block, or ignore. The kernel just removes it. That also means zero cleanup: nothing is saved, temp files stay behind, and any unsaved work is gone. Keep -9 as the last resort, the same rule that applies to every method on the force quit ladder.

Two more options worth knowing:

One warning before you sudo your way around: with root powers, killall will happily take down core system processes, and killing the wrong one can log you out on the spot. Type the name, read it twice, then press Enter.

"killall dock not working": when killall fails

The most common killall failure is the command replying "No matching processes belonging to you were found" while the app sits right there, visibly frozen. Run down this list:

  1. Check the capitalization. It is killall Dock, never killall dock. Same for killall Finder and every other name. This one typo explains most "killall not working" complaints.
  2. Check the real process name. The name in the Dock is not always the process name. Run pgrep -l with part of the name, or find the process in Activity Monitor and use exactly what it shows.
  3. Quote names with spaces. killall "Google Chrome", with the quotes.
  4. It might be a helper process. Killing the main app usually takes its helpers down with it, but a crashed helper (a renderer, a plugin host) can survive alone with a name like "Google Chrome Helper". Kill the helper by its full quoted name.
  5. It belongs to someone else. If the process runs as root or another user, you need sudo killall.
  6. It respawns instantly. Some processes are managed by launchd or by a parent app that relaunches them the moment they die. For system processes that is by design (that is why killall Dock is safe). For a misbehaving third-party agent, quit the parent app or disable it in System Settings → General → Login Items instead of playing whack-a-mole.

If Terminal itself is not an option because the whole machine is beachballing, switch strategies: the force quit not working guide covers the GUI escalation, and if nothing on screen responds at all, start with what to do when your Mac is frozen.

killall vs Activity Monitor vs MEGAKILL

MEGAKILL in action: shoot an app to force-quit it

Honest comparison. killall is the fastest method once you know the exact process name, and the only sane way to restart the Dock or cfprefsd. Its weakness is everything this article just covered: exact names, capitalization, quotes. Activity Monitor never asks you to spell anything; you see every process, sort by CPU, click the X. It is the right tool when you do not know what is eating the machine. It is also five clicks.

MEGAKILL exists for the third case: you already know exactly which app deserves to die and you want it dead now. Hold the shortcut (⌥⌘ by default) and your cursor becomes a DOOM-style double-barrel shotgun. Click the app's Dock icon or window and it force-quits on the spot. No names to spell, no case sensitivity, and considerably more satisfying than a Terminal prompt. Kill streaks, screen shake, real shotgun audio. Finder, the Dock, and critical system processes are shielded, so unlike sudo killall it will not let you shoot yourself in the foot. It runs on macOS 14 (Sonoma) or later and is free for your first 100 kills.

Skip the spelling test

killall wants the exact process name, correct case, and quotes in the right place. MEGAKILL wants you to point a shotgun at the app and click. Free for your first 100 kills, then a one-time €1.99 unlocks unlimited kills. Rip and tear.

Download MEGAKILL, free

Frequently asked questions

Is killall safe to use on a Mac?

For regular apps, yes. By default killall sends SIGTERM, a polite quit request the app can handle cleanly, and system processes like the Dock, Finder, SystemUIServer, and cfprefsd relaunch automatically. Be careful with sudo killall on core system processes you do not recognize, since that can log you out.

Does killall force quit an app?

Not by default. killall sends SIGTERM, which asks the app to quit and lets it clean up first, closer to Command-Q than to a force quit. To actually force quit, run killall -9 AppName, which sends SIGKILL, a signal the process cannot catch or ignore. Unsaved work is lost.

Why does killall say "No matching processes belonging to you were found"?

Either the name does not match exactly, or the process belongs to another user. killall is case-sensitive (killall Dock works, killall dock does not), names with spaces need quotes, and some apps run under a process name that differs from the app name. Check the real name with pgrep -l or Activity Monitor, and use sudo for another user's process.

What is the difference between kill and killall?

kill targets one process by its PID, the number you get from pgrep or Activity Monitor, as in kill -9 5821. killall targets processes by name and signals every match at once, as in killall Safari. killall is faster to type; kill is more precise when several processes share a name.

What does killall Dock do?

It ends the Dock process, and launchd restarts it about a second later. Because the Dock process also runs Mission Control and the app switcher, this one command fixes a frozen Dock, a stuck Mission Control, and a hung app switcher. Your open apps and files are untouched.

When do I need sudo killall?

When the process belongs to root or to another user account. Plain killall can only signal your own processes. For example, sudo killall cfprefsd also restarts the system-level preferences daemon, not just your user's copy. Double-check the name first: sudo removes the safety net.