Linux系統(tǒng)下無法卸載掛載的目錄怎么辦?看這篇就夠了
作者:阿龍說運維
我們在日常運維中經(jīng)常性會遇到需要進行磁盤的擴容、卸載、掛載等操作,但是有時候這個系統(tǒng)上跑的應(yīng)用并沒有停止或者有其他的運維同事在操作這個目錄,這個時候我們是無法直接umount卸載掉的,所以今天就給大家分享一下如果遇到這種問題了,我們?nèi)绾稳ズ侠淼奶幚恚?/div>


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

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

上面我們已經(jī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ù)為進行強制卸載,這里我們也發(fā)現(xiàn)了,上面使用的強制卸載并未生效,還是報錯了,怎么辦呢?不要著急,看下面!
使用fuser命令,先確認有哪些進程在占用該目錄
- [root@docker /]# fuser -cu /mnt
- /mnt: 1112c(java)
上面查看發(fā)現(xiàn)是pid為1112的java進程目前在占用這此目錄,所以無法卸載。
那么我們確認了是哪個進程占用著此目錄后,我們可以kill 掉該進程,
這里有兩種方法去kill進程:
第一種就是我們平常用到的直接命令:kill -9 1120;
第二種就是使用fuser -ck /mnt
- [root@docker /]# fuser -ck /mnt
- /mnt: 1120c
當(dāng)我們需要知道哪個目錄被哪個進程所占用的時候,也可以使用lsof 命令進行查看。
責(zé)任編輯:姜華
來源:
今日頭條


相關(guān)推薦




