Umount
此頁由 Linux Wiki用戶Chenxing 於 2012年6月23日 (星期六) 01:23 的最後更改。
出自Linux Wiki
提示:此文已超过 12 年(4570 天)未更新,如发现内容过时或有误,欢迎改进:)
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盤是不安全的。
參考資料
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。