44

I'm unable to kill a process using any of the techniques I'm aware of ("Force Quit" in Activity Monitor, top, killall from the Terminal) and wonder if there are some additional steps I can take.

enter image description here

~ $ sudo killall -KILL 77439
Password:
No matching processes were found
~ $ killall -KILL 77439
No matching processes belonging to you were found
~ $ killall 77439
No matching processes belonging to you were found
~ $ killall Mathematica
No matching processes belonging to you were found

FWIW the process is "Mathematica" which I cannot relaunch, Quit, or Force Quit, or sample, either by name or PID, and it appears to have some odd side effects (screenshots don't appear, can't empty trash, and can't even shut down the system).

Are there additional steps that can be taken to really really kill a badly behaved process?

5
  • Can you find this process using top in the terminal?
    – Pierobon
    Commented Feb 1, 2014 at 19:03
  • 1
    Next time this problem does occur, please add the output of ps alx | egrep '[ /](PID|Math)' to your question.
    – dan
    Commented Feb 1, 2014 at 20:25
  • @danielAzuelos: Good tip. Will do.
    – orome
    Commented Feb 1, 2014 at 20:31
  • GDP2 links(below) to interesting stuff on sending a kill signal to a kernel thread. It's about GNU/Linux. But what's been gnawing at me, and this question kind of asks it: I recall (perhaps in Pre OS X days?) that there were serious keyboard commands that might grab the attention of an errant program, similar to Ctrl-C, Ctrl-D and Ctrl-Z in a shell. Command-.(period)?? Anything like that relevant today? Any ways to tell what kill signals a process/app will respond to? Any useful signals to send to any common macOS apps other than STOP, CONT, ILL, KILL, which I've found useful. Or ... Commented Nov 15, 2021 at 8:43
  • ...or has anyone found attaching a debugger or reviewing a core dump to be useful? Perhaps these are more of a developer.apple.com/forums questions? For example, I have an iPad app on my Mac that has hung. I entered a long comment - I just realized I can take a screen shot and Photos will give me the text back. But what if I've entered a long comment and the app has frozen and most of the comment is invisible. But the app is alive enough to refresh the window... Who's been there? Commented Nov 15, 2021 at 8:48

4 Answers 4

62

killall kills by process name (which is definitively not 77439 and most probably also not Mathematica). You can use kill 77439 or (if this fails) kill -9 77439 instead (but if the process is really stuck, only a reboot will solve the problem).

Also, due the the way sending/processing of signals (like kill -9) works in Unix/OS X, there are situations where a process will be unkillable. One typical example for this is if a process gets stuck while accessing some external device and never actually gets control back. In such situations a reboot is the only way to get rid of the process.

10
  • 3
    Kill sounds like it should go just as it says, but really it should be called 'send interrupt signal', as there are many different types of kill it can perform. Using the parameters -9 essentially uses the most powerful form of terminating with extreme predjudice available...
    – stuffe
    Commented Feb 1, 2014 at 18:14
  • 2
    $kill -9 PID always does the trick for me, even if it's that much invasive.
    – Pierobon
    Commented Feb 1, 2014 at 19:05
  • So it seems like Mathematica is just unusually badly behaved. In the end I had to force shutdown (regular shutdown hung). I don't have this problem with any other app, but Mathematica has had it more than once.
    – orome
    Commented Feb 1, 2014 at 19:09
  • 2
    Here are some more details about what can cause processes to get stuck.
    – GDP2
    Commented Jan 9, 2018 at 20:41
  • 1
    @Tom That part of of how Unix works is probably nearly as old as the OS itself. Most probably things would be designed differently today (OTOH it's a rare issue).
    – nohillside
    Commented Nov 19, 2021 at 16:28
5

Sometimes killing the parental process can get rid of an otherwise unkillable process. Unfortunately, if the parental process is PID 0 or 1 (launchd) you are pretty screwed.

Find the parental process in Activity Monitor.

4
  • 2
    This is the only solution that worked for me.
    – Devon
    Commented Jan 24, 2022 at 21:17
  • how do you find the parental process?
    – rmp251
    Commented Apr 19, 2022 at 1:17
  • 1
    In Activity monitor if you switch the view to All Processes, hierarchically, and then search, you will see the parents in the tree. Commented Sep 10, 2022 at 17:11
  • @rmp251 you can use nice terminal util named "htop" - it is human readable version of top with interactive mode and hotkeys to filter, view in tree mode, send signals, etc.
    – Arkemlar
    Commented Aug 31, 2023 at 9:41
3

On newer os, use launchctl to trigger a reboot of the apps / user space.

sudo launchctl reboot userspace

The userspace reboot kills everything including finder and then sets up a new login session. You shouldn’t need to restart the entire OS unless things are really broken far past one stuck process. If you ssh in from another device, you might have luck with these other commands:

launchctl reboot apps
launchctl reboot logout

You may find an iPad or iPhone or another computer to ssh in makes it easier to quit things since if you run terminal app, it will exit after any of these launchctl commands.

3
  • I tried this, and after the first launchctl command ran, my terminal app immediately exited, lol. I couldn't run the other two commands. Commented Aug 9, 2021 at 17:13
  • 1
    Thank you so much, @coredumperror . I have been using ssh for so long I forget to explain that. Is my edit more useful for you than the older version of this answer?
    – bmike
    Commented Aug 9, 2021 at 22:48
  • 1
    Well, the third of those worked for me. I was having the same problem as OP with Opera on macOS 13.4. Tried sudo kill -9 and d-b's solution, neither of which worked (the parent process ID was 1), then tried your first two commands, also to no avail. The third one thankfully worked. Thank you!
    – Rain
    Commented Jun 18, 2023 at 21:24
-4

Running macOS Mojave 10.14 Beta 1, I had to run the following to get any traction:

sudo xcscontrol --reset   
3
  • 4
    What exactly does this do / why is it needed?
    – pkamb
    Commented Nov 1, 2018 at 22:06
  • xcscontrol is Xcode Server Control, and doesn't seem to have any correlation to a badly behaved process? Commented Mar 13, 2019 at 16:36
  • I've got this on running the command: Failed: Current Xcode symlink (/Library/Developer/XcodeServer/CurrentXcodeSymlink) not found, service doesn't appear to be configured.
    – Vladyn
    Commented Jul 27, 2020 at 4:02

You must log in to answer this question.

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