Linux系統(tǒng)下無法卸載掛載的目錄怎么辦?看這篇就夠了
背景說明:
我們?cè)谌粘_\(yùn)維中經(jīng)常性會(huì)遇到需要進(jìn)行磁盤的擴(kuò)容、卸載、掛載等操作,但是有時(shí)候這個(gè)系統(tǒng)上跑的應(yīng)用并沒有停止或者有其他的運(yùn)維同事在操作這個(gè)目錄,這個(gè)時(shí)候我們是無法直接umount卸載掉的,所以今天就給大家分享一下如果遇到這種問題了,我們?nèi)绾稳ズ侠淼奶幚?
現(xiàn)象描述:這里我們需要將/mnt目錄卸載掉,如下圖所示:

執(zhí)行卸載命令:umount /mnt后,發(fā)現(xiàn)卸載不了,提示資源被占用,如下圖所示:

上面我們已經(jīng)看到了,提示被占用,無法卸載,如何處理呢?方法很簡單,可以使用強(qiáng)制卸載,命令如下:
- [root@docker /]# umount -f /mnt
- umount2: Device or resource busy
- umount: /mnt: device is busy
- umount2: Device or resource busy
- umount: /mnt: device is busy
-f參數(shù)為進(jìn)行強(qiáng)制卸載,這里我們也發(fā)現(xiàn)了,上面使用的強(qiáng)制卸載并未生效,還是報(bào)錯(cuò)了,怎么辦呢?不要著急,看下面!
使用fuser命令,先確認(rèn)有哪些進(jìn)程在占用該目錄
- [root@docker /]# fuser -cu /mnt
- /mnt: 1112c(java)
上面查看發(fā)現(xiàn)是pid為1112的java進(jìn)程目前在占用這此目錄,所以無法卸載。
那么我們確認(rèn)了是哪個(gè)進(jìn)程占用著此目錄后,我們可以kill 掉該進(jìn)程,
這里有兩種方法去kill進(jìn)程:
第一種就是我們平常用到的直接命令:kill -9 1120;
第二種就是使用fuser -ck /mnt
- [root@docker /]# fuser -ck /mnt
- /mnt: 1120c
當(dāng)我們需要知道哪個(gè)目錄被哪個(gè)進(jìn)程所占用的時(shí)候,也可以使用lsof 命令進(jìn)行查看。






























