Monday, February 20, 2012

umount: /mnt busy

When trying to unmount a file system you may got the typical error like:

# umount /mnt
umount: /mnt busy

A good chance to see why you can't unmount a file system is fuser:

# fuser -u /mnt
/mnt:    10087c(oracle)

With the -u option followed by the ununmountable file system fuser will show the user who is currently using te file system. To see what the user is doing run ps and grep for the PID the fuser shows you:

# ps -ef | grep 10087
  oracle 10087 10012   0 15:40:28 pts/1       0:00 -ksh

So, the oracle user doesn't seem to do any useful, then kill her session:

# kill -15 10087

/mnt should be unmountable again. Another option to kill all processes that are using a file system is -ck option for fuser:

# fuser -ck /u03
/u03:    10087c

This will kill all processes that are using the /mnt mountpoint immediatly. After that the file system is unmountable again:

# umount /mnt