Linux:在执行umount时哪个进程导致"设备忙"?
查看lsof命令(列出打开的文件) - 它可以告诉您哪些进程正在保持打开状态.有时这很棘手,但往往是sudo lsof | grep (your device name here)
为你做的那么简单.
以防万一...有时会发生从终端调用umount,而当前目录属于挂载的文件系统.
您应该使用该fuser /dev/cdrom
命令.
例如./dev/cdrom
将使用返回进程的pid -k
.
如果您尝试卸载,可以使用该man fuser
开关终止该过程(请参阅参考资料fuser /dev/cdrom
).
使用"losetup -a"检查映射到文件系统上文件的开环设备.它们不会出现lsof或fuser.
还检查一下/etc/exports
.如果您是通过NFS挂载点内出口的路径,它会试图卸载时,给这个错误,没有什么会出现fuser
或lsof
.
lsof +f -- /mountpoint
(列出使用挂载在/ mountpoint上的文件的进程.特别适用于查找使用已安装的USB记忆棒或CD/DVD的进程.
lsof和fuser确实是找到保持某个文件打开的进程的两种方法.如果您只是想让umount成功,那么您应该调查它的-f和-l选项.
这就是为什么存在“ fuser -m / mount / point”的原因。
顺便说一句,我不认为“ fuser”或“ lsof”将指示内核模块何时拥有资源,尽管我通常没有这个问题。