How to force quit an app that won't force quit

If an app will not force quit, first give it about ten seconds, because a force quit can take a moment to finish. If it is still there, force quit it from the Dock with Option held, then end its helper processes, and finally use Terminal: find the process ID with pgrep and run kill -9 on it. If even that does nothing, restart the Mac.

Work through these steps in order, and stop as soon as the app is gone.

Step 1: force quit once, then wait

Press Option-Command-Escape, select the app and click Force Quit, then confirm. Now give it ten seconds. An app that is in the middle of writing to a disk, or waiting on a network drive, can take a while to be let go of. The window may look unchanged for a few moments and then the app disappears.

Do not click Force Quit over and over. One request is enough, and a second does nothing the first did not. If the app is gone from the Dock after waiting, you are done.

Step 2: force quit from the Dock

If the Force Quit window shows the app still listed, try a different route. Right-click the app’s icon in the Dock, hold Option, and choose Force Quit, which replaces Quit while Option is down. It is a quick second try before you open Terminal.

The Apple menu’s Force Quit item opens the same window as the keyboard shortcut, so it will not help here. How to force quit an app on a Mac: every way that works lists the routes.

Step 3: look for helpers

Many apps are not one process. A web browser, a chat app or a video editor often starts helper processes that do its web content, graphics or networking. When you force quit the main app, the helpers normally go with it. Sometimes a helper is left behind after the main app has gone, still using processor time, and it has to be ended on its own.

In Foreman, the Processes page shows each app with its helpers grouped under it, and the row opens to show them. If a helper is the stubborn part, select it and use End Task. On the All Processes page there is also End Process Tree, which ends the process and the ones it started. Foreman is free to try for 24 hours.

Without Foreman, the Terminal steps below find helpers by name.

Step 4: Terminal and kill

Open Terminal. If the Dock and menus are not answering, use Spotlight (Command-Space, then type Terminal).

Find the process ID, called the PID. Use the app’s name, which is usually the name shown in the Force Quit window:

pgrep -x Slack

If nothing prints, the name does not match. Try a part of the name without -x:

pgrep -il slack

That lists every process with “slack” anywhere in its name, in capitals or not, with PIDs. Note that helpers appear here with names such as “Slack Helper”. Pick the right PID, then try the polite stop first:

kill 12345

Replace 12345 with your PID. Wait a few seconds, then check whether it is still there:

ps -p 12345

If the process still shows, send the signal that cannot be ignored:

kill -9 12345

The app should vanish at once. Always check the PID before you press Return: kill ends whatever process has that number, and a mistake can end something you needed. How to kill a process from Terminal on a Mac, and when not to explains the options.

A process owned by another user, by root or by one of macOS’s system accounts needs sudo in front of kill, which asks for an administrator password. Do not end parts of macOS with it unless you know what they do.

When kill -9 does not work either

Now and then a process ignores even kill -9. Check its state:

ps -o pid,stat,comm -p 12345

If the STAT column starts with U, the process is in an uninterruptible wait. It is stuck inside a request to the disk, a network share or an external drive, and macOS cannot end it until that request returns or fails. Nothing you do to the app will change this. The usual fixes are on the other side:

  • Unplug or eject the drive the app was using. Disconnect from the network share it was reading.
  • Turn Wi-Fi off and on again, if it was waiting on the network.
  • Wait a minute or two, because some of these requests time out.

If the state letter is something else and the process still survives, go on to the last step.

Step 5: restart

When nothing else works, restart the Mac with the Apple menu > Restart. If the restart stops with a message that an app failed to quit, use the Force Quit window on it, or go to the power button. If the whole Mac has frozen and the menu does not respond, see what to do when your whole Mac freezes. A restart ends every process, including the stuck one.

Before you restart, save what you can in other apps. If you have to hold the power button to switch the Mac off, anything unsaved in every app is lost, so keep that as the final option.

Why an app refuses to quit

Three things are behind most cases. The app is waiting on something else, such as a slow disk, a network drive or a helper, and cannot finish. The app has been force quit and is already on its way out, which can take a few seconds. Or something else restarts it as soon as it goes, which looks like a force quit that did not work. If the app comes back immediately, that is a separate problem: why an app keeps reopening after you quit it on a Mac covers it.

If the same app keeps hanging, check for an update, and look at whether a particular file or document sets it off. Force quitting over and over treats the symptom, not the cause.