Issue
I've got some samba drives that are being accessed by multiple users daily. I already have code to recognize shared drives (from a SQL table) and mount them in a special directory where all users can access them.
I want to know, if I remove a drive from my SQL table (effectively taking it offline) how, or even is, there a way to unmount a busy device? So far I've found that any form of umount
does not work.
Ignoring the possibility of destroying data - is it possible to unmount a device that is currently being read?
Solution
YES!! There is a way to detach a busy device immediately - even if it is busy and cannot be unmounted forcefully. You may cleanup all later:
umount -l /PATH/OF/BUSY-DEVICE
umount -f /PATH/OF/BUSY-NFS (NETWORK-FILE-SYSTEM)
NOTE/CAUTION
- These commands can disrupt a running process, cause data loss OR corrupt open files. Programs accessing target DEVICE/NFS files may throw errors OR could not work properly after force unmount.
- Do not execute above
umount
commands when inside mounted path (Folder/Drive/Device) itself. First, you may usepwd
command to validate your current directory path (which should not be the mounted path), then usecd
command to get out of the mounted path - to unmount it later using above commands.
Answered By - Amit Verma