Umount
此页由Linux Wiki用户Chenxing于2012年6月23日 (星期六) 01:23的最后更改。
出自Linux Wiki
提示:此文已超过 12 年(4534 天)未更新,如发现内容过时或有误,欢迎改进:)
umount是功能与mount相反的Linux命令,用于卸载文件系统。如卸载U盘,移动硬盘上的分区等等。
umount的man pages中有对其功能的大体介绍和详细的参数使用说明,这里只介绍umount的常见用法。
目录 |
卸载文件系统
无程序访问要卸载的分区时,可直接用设备名或挂载点卸载文件系统,如:
# umount /dev/sdb1 # umount /media/disk
设备忙
如果分区正在被使用,umount会报错:
umount: /dev/sdb1: device is busy
此时可使用lsof命令打开正在使用该文件系统的进程,如:
lsof /dev/sdb1
再按需操作相关进程即可。
fuser与lsof类似,另外提供向相关进程发送信号等功能。基本用法:
# 获取正在访问某文件的进程和访问方式: fuser /media/disk # 更详细的信息: fuser -l /media/disk # 向正访问 /media/disk 的进程发送 SIGKILL 信号: fuser -k /media/disk
lazy umount
lazy umount正是针对上面错误中的busy而提出的,即可以卸载“busy”的文件系统。
举个例子,假设/dev/sdb1被mount到/media/disk,且处于“busy”状态,那么可以执行:
# umount -l /media/disk
请注意,该方法并不是完全安全的,lazy umount主要完成如下操作[1]:
- 立即从目录结构中实现卸载,即新进程将无法通过/media/disk访问/dev/sdb1
- 正在访问该文件系统的程序不受影响。即正在操作/media/disk的进程不会被打断,且仍可以读写/dev/sdb1中的所有文件。
- 如果所有进程对/media/disk的操作都执行完,那么才真正地umount
由此可知,lazy umount并没有真正实现umount,仅用于特殊需要的情况,而用这种方法来卸载U盘是不安全的。
参考资料
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。