How to Unmount a Busy Device

Symptoms

umount: /www: target is busy.

~]$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/fedora-root xfs 15G 2.9G 13G 20% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 781M 1.6M 779M 1% /run
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs tmpfs 2.0G 0 2.0G 0% /tmp
/dev/sda2 xfs 2.0G 381M 1.6G 20% /boot
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
tmpfs tmpfs 391M 4.0K 391M 1% /run/user/1000
/dev/mapper/fedora-www xfs 10G 309M 9.7G 4% /www

~]$ sudo umount /www
[sudo] password for sakura:
umount: /www: target is busy.

Cause

Some processes are currently using this mount point.

~]$ sudo fuser -vm /www
USER PID ACCESS COMMAND
/www: root kernel mount /www
sakura 41232 F.... vim

~]$ lsof /www
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 41232 sakura 3u REG 252,1 12288 8390076 /www/wordpress/.a.txt.swo

Solution

sudo fuser -km /www
# or
sudo kill -9 41232

(Option) Lazy Umount. Noteably, this delays actual unmounting until all processes finish.

sudo umount -l /www