Last October, I reviewed What’s Keeping Me, a utility that helps you figure out what, exactly, is keeping a drive or disk image from being ejected. In the comments for that article, a Macworld reader recommended a similar utility, WhatsOpen. At the time, WhatsOpen didn’t stand out compared to What’s Keeping Me, but several updates since then have improved the program considerably—WhatsOpen 2.5 is now a good alternative that offers several unique features.
Whenever you try to eject a disk, disk image, or other volume and get the dreaded “is in use and could not be ejected” message, launch WhatsOpen, choose the volume from the Volume pop-up menu, and then click on List Files. WhatsOpen will display a list of all open (meaning in-use) files that reside on that volume, including information about each file: the application using it, the user using it, its file size, and the full path to the file.
To ensure you’re seeing all open files on the volume—including those being used by other users and the system itself—choose All from the Users pop-up menu and choose Enable Super User from the Actions menu. This gives WhatsOpen (or, more specifically, the underlying
lsof program) administrative privileges. When using this option, the file listing also shows the CPU use and process state of processes.
The Filter field lets you filter the view by your search term, and you can sort the list by any attribute by clicking on the appropriate column head. Note that the list doesn’t automatically refresh; to refresh the file listing, just click on List Files again. (I occasionally experienced an issue where, after the initial listing, using the List Files command wouldn’t refresh the file list; quitting and relaunching the program fixed the problem.)
In many cases, it will be immediately obvious what’s preventing the volume from being ejected. For example, in the screenshot below, the application RealBean is running, preventing me from ejecting the disk image on which it resides. I can simply quit the application and then eject the disk image. Other times, you may find that a document residing on the volume is open; closing the document should let you eject.
However, if you don’t recognize a file, WhatsOpen provides a few tools to help you out; these tools are especially useful if the offending application is actually a Unix program or other background process. Selecting an item in the list and clicking on Show In Finder reveals that file in the Finder. Clicking on Google Lookup performs a Google search, in your Web browser, for the name of the application using the file(s). And clicking on Application Docs searches the Unix
man pages on your Mac for documentation for that application.
For background processes or programs that refuse to quit, the Kill Program action does just that: forces the offending application to quit—with the risk of losing unsaved data, if applicable—so you can eject the volume. There’s also a Force Eject command, which simultaneously kills all processes preventing the volume from ejecting (with the same risk of losing unsaved data). Note that neither of these options will allow you to force-quit a system-level process, as doing so could result in the OS crashing.
More-advanced features include the capability to pause and resume processes, and to view only files or IPv4 connections.
As someone who regularly mounts and unmounts disk images and external hard drives, I’m regularly faced with the annoying “could not be ejected” message. WhatsOpen has become a frequently used tool.
Want to stay up to date with the latest Gems? Sign up for the Mac Gems newsletter for a weekly e-mail summary of Gems reviews sent directly to your Inbox.