Recently I had a dialog window on my Mac caught in an infinite loop. It read (I’m paraphrasing), “Growl can not be opened when it is updating.” Or something like that. Anyway, I would click “OK” (the only button available) and the dialog would close, then promptly reappear. The window did not show up in “Force Quit Applications”, nor did it change the menu bar (so it wasn’t showing it’s name). I tried killing Growl (and also App Store, since it was that app’s icon on the window). Neither worked. Exasperated, I dragged the window to the bottom left of my screen and continued working.
Two weeks later I noticed the window in the very place I left it. I tried clicking the “OK” button again, but no love. Finally, I looked through Activity Monitor and found a process called
store_helper. I killed that and the dialog disappeared.
My question is how can I find the process ID of an open window, so I can kill it (or marry it, or make love to it, or whatever). Linux X Windows has a utility called xkill, which when run, changes your mouse pointer to a skull. Then you just click the problematic window and xkill kills it’s associated app. X Windows also has a utility called xwininfo that is similar to xkill, except instead of killing the associated app it shows you information about the window (including the process id).
At any rate, I can’t find any like utilities for the Mac. If anyone knows of something, please comment.
When I killed the
store_helper process, the App Store stopped working. I could search and find apps, but when I tried to buy them I received a never-ending status indicator. I tried restarting store_helper manually (it’s here:
/System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/store_helper.app/Contents/MacOS/store_helper). Apparently it wants some extra command line options which I couldn’t provide. So instead of rebooting I killed another process (I’m reckless at times, I know) called
storeagent, hoping a restart on the App Store app would restart all dependencies. It worked, and I could once again purchase apps. Interestingly, although
storeagent did restart,
store_helper was not restarted.
I imagine a reboot would have set everything right, but I’m just not into restarting my computer.