我有一些每天被多个用户访问的 samba 驱动器。我已经有代码来识别共享驱动器(来自 SQL 表)并将它们安装在所有用户都可以访问它们的特殊目录中。
我想知道,如果我从我的 SQL 表中删除一个驱动器(有效地使其脱机),有没有办法卸载繁忙的设备?到目前为止,我发现任何形式的 umount
都不起作用。
忽略破坏数据的可能性 - 是否可以卸载当前正在读取的设备?
原文由 Max 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果可能,让我们定位/识别繁忙的进程,杀死该进程,然后 unmount
samba 共享/驱动器以最大程度地减少损坏:
lsof | grep '<mountpoint of /dev/sda1>'
(或任何安装的设备)
pkill target_process
(按名称杀死繁忙的进程| kill PID
| killall target_process
)
umount /dev/sda1
(或任何安装的设备)
原文由 Frank Tudor 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.6k 阅读
4 回答4.2k 阅读
2 回答955 阅读✓ 已解决
2 回答3.5k 阅读
1 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
1 回答538 阅读✓ 已解决
是 的!有一种方法可以立即分离繁忙的设备 - 即使它很忙并且无法强制卸载。您可以稍后清理所有内容:
注意/注意
umount
命令。首先,您可以使用pwd
命令验证您当前的目录路径(不应该是挂载路径),然后使用cd
命令退出挂载路径 - 卸载它稍后使用上述命令。