Linux 环境下umount, 报 device is busy 的问题分析与解决方法
在Linux環(huán)境中,有時(shí)候需要掛載外部目錄或硬盤等,但當(dāng)想umount時(shí),卻提示類似“umount:/home/oracle-server/backup:device is busy”這種提示。
出現(xiàn)這種提示的原因可能是該文件系統(tǒng)處于busy狀態(tài),不能卸載。
那么什么情況可能會(huì)導(dǎo)致文件系統(tǒng)處于“busy”狀態(tài)呢,考慮一下三種情況:
? ?1)?文件系統(tǒng)上面有打開的文件
? ?2)?某個(gè)進(jìn)程的工作目錄在此文件系統(tǒng)上
? ?3)?文件系統(tǒng)上面的緩存文件正在被使用
?
解決上述問題的方法是,可以使用fuser命令,fuser -km /home/oracle-server/backup(掛載文件系統(tǒng))。關(guān)于fuser的使用,可以通過fuser --help查看詳細(xì)參數(shù)。如下圖
我們常用到的參數(shù)有兩個(gè):
-m? 列出所有使用該文件系統(tǒng)的進(jìn)程
-k? 殺掉訪問該文件系統(tǒng)的進(jìn)程
所以對(duì)于我的環(huán)境來說,命令就是fuser -km?/home/oracle-server/backup。這里要說明一下,執(zhí)行這條命令時(shí),要用正確的用戶,那怎么知道正確的用戶呢?可以查看所要umount目錄的屬性(使用ll命令查看)中的所屬用戶。
正常情況下,通過fuser命令之后,就可以使用umount命令卸載掉掛載目錄了。
?
?
補(bǔ)充:
1??新掛載目錄后原有目錄中文件消失?
答案是原有文件并沒有小時(shí),只是隱藏了,看不到罷了。那這又是什么原因呢?
這個(gè)原因是由于Linux的VFS(虛擬文件系統(tǒng))機(jī)制導(dǎo)致的,正常登錄以后,所看到的各個(gè)目錄,文件都是內(nèi)核在加載時(shí)候構(gòu)造在內(nèi)存中的VFS目錄樹,而不是直接看到硬盤上的實(shí)際目錄樹。當(dāng)你掛載某個(gè)設(shè)備到一個(gè)VFS掛載點(diǎn)上時(shí)(比如/home),系統(tǒng)就把VFS中的這個(gè)掛載點(diǎn)/home指向你最后所掛載的那個(gè)設(shè)備上。那么你現(xiàn)在訪問該掛載點(diǎn)時(shí),就會(huì)看到你最后掛載在此處的設(shè)備。而之前所掛載的設(shè)備依然在那里,只不過掛載點(diǎn)/home已經(jīng)不再指向之前的設(shè)備。所以之前的數(shù)據(jù)是被隱藏了,但并沒有刪除,若umount掛載后,數(shù)據(jù)又重新回來了。
2 思考:為什么有時(shí)候會(huì)出現(xiàn)掛載某個(gè)光驅(qū)后umount會(huì)出現(xiàn)“umount: /mnt/cdrom: device is busy”
這是由于直接將/dev/cdrom mount?到了/mnt目錄造成的。
正確掛載CD-ROM的方法應(yīng)該如下:
#cd /mnt
# mkdir cdrom
# mount /dev/cdrom /mnt/cdrom
或者?
# mount /dev/cdrom /media/cdrom
直接掛載在/mnt,/media等系統(tǒng)目錄下,在umount時(shí)會(huì)出現(xiàn)出錯(cuò)信息“umount: /mnt/cdrom: device is busy”的情況。
轉(zhuǎn)載于:https://www.cnblogs.com/ray-bk/p/10443492.html
總結(jié)
以上是生活随笔為你收集整理的Linux 环境下umount, 报 device is busy 的问题分析与解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019做的第一个艰难决定
- 下一篇: 测试必知的150个Linux命令