我在两个文件夹之间执行了 rsync:
rsync -avzh /mnt/folder1 /mnt/folder2
(folder1 是 /dev/sdb,folder2 是 /dev/sdc,都是 ext4 分区)
然后我卸载了folder1,我犯了一个错误,我将/dev/sdc直接安装在/mnt上:
mount /dev/sdc /mnt
事实上我想将 /dev/sdc 挂载到 /mnt/folder1
现在我无法卸载 /mnt:
umount /mnt/
umount: /mnt/: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
我怎样才能解决这个问题?
答案1
这是,为了防止数据丢失!
运行以下命令,查看哪些进程阻止卸载。我假设您跳过了开发上的分区以减少输入:
lsof | grep '/dev/sdc'
关闭您的工作或结束给定的进程并再次卸载。您还可以看到哪些文件仍然打开:
fuser -u /mnt/
而以下命令将终止所有进程本身并可能导致数据丢失:
fuser -km /mnt
或者将其显示为已卸载,并在进程完成后让它自动卸载:
umount -l /mnt
答案2
检查是否没有任何进程使用安装点,例如您自己的 shell。
如果那还不行的话
lsof |grep /mnt/
可以帮助您查明正在使用安装点的内容。