Discover which apps prevent disk image ejection in OS X
One of my least-favorite error messages is the one that says a volume can’t be ejected because it is in use. The vague advice to “try quitting applications” often leads me on a wild goose chase — somehow it always seems to be the last application I try that has a document on the volume open.
I finally realized that the Unix lsof command is exactly what one needs in this situation. I have known about lsof for a long time, but somehow never put two and two together. Now when the Finder tells me I can’t eject the volume ‘DODO,’ I just run this in the Terminal:
lsof | grep DODO
The output may then look something like this:
bash 228 johndoe cwd DIR 14,4 4096 2 /Volumes/DODO
Word 1379 johndoe 24u REG 14,4 81 197704 /Volumes/DODO/C/Archiver/test.txt
This shows me that Word has test.txt open, and that there is a shell whose working directory is on DODO. This makes clear exactly what I need to do to be able to eject the volume — close the Word document and cd out of the directory on DODO.







