This basic (re-worded) question came in from Jeff: “Why won’t my remote filesystem mount unmount when I try the
It’s very true: If you try to
umount (unmount) a filesystem that is currently being accessed, it will not let you do it. And it will tell you something like, “
umount: /media/ncp: device is busy“. What causes this? Well, it’s likely to be one of two things:
- You have (or someone else has)
cd‘d onto the remote filesystem and are currently at or below the mount point root
- You are running an application that has a file open on that mount point
To mitigate item #1 above (if you are the guilty party, not someone else), just
cd to the filesystem root (like
cd /), or some other place you know is not on the mount point (like
cd /tmp). Then you can run your
Solving item #2 above is perhaps a tad more tricky. Of course, if you have a suspicion or direct knowledge of the guilty app, then you can just stop it. Sometimes doing this:
ps -ef | grep
ps aux |grep
…will show the process and any files it accessed by the startup command.
Either way, my favorite way to check for both item #1 and #2 above is to use
lsof. This utility will list *every* file that the system has a hold on. And this is essential because after all, we know that Linux is nothing but a bunch of files, right?
So here’s what I like to do, for example:
lsof| grep "/media"
… this will show you if anyone or anything is currently sitting on the mountpoint (of course, change your mountpoint to suit, be it
/export, whatever). If it shows anything, you can see who or what is at fault, and tell them to get off it, or kill them (I mean the app, jeez…). If you really need to see the headers of the columns, you can do a double-run for cosmetic purposes that will run once for just the header, then again to grab your detail, like this:
lsof |head -1;lsof| grep "/media"
Another way is to use the
fuser command, referencing your mount point. Here’s my favorite set of flags in an example:
fuser -uv /media/ncp
I hope that helps!