背景說明:
我們在日常運維中經常性會遇到需要進行磁碟的擴容、解除安裝、掛載等操作,但是有時候這個系統上跑的應用並沒有停止或者有其他的運維同事在操作這個目錄,這個時候我們是無法直接umount解除安裝掉的,所以今天就給大家分享一下如果遇到這種問題了,我們如何去合理的處理?
現象描述:這裡我們需要將/mnt目錄解除安裝掉,如下圖所示:
執行解除安裝命令:umount /mnt後,發現解除安裝不了,提示資源被佔用,如下圖所示:
上面我們已經看到了,提示被佔用,無法解除安裝,如何處理呢?方法很簡單,可以使用強制解除安裝,命令如下:
[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引數為進行強制解除安裝,這裡我們也發現了,上面使用的強制解除安裝並未生效,還是報錯了,怎麼辦呢?不要著急,看下面!
使用fuser命令,先確認有哪些程序在佔用該目錄
[root@docker /]# fuser -cu /mnt /mnt: 1112c(java)
上面檢視發現是pid為1112的java程序目前在佔用這此目錄,所以無法解除安裝。
那麼我們確認了是哪個程序佔用著此目錄後,我們可以kill 掉該程序,
這裡有兩種方法區kill程序:
第一種就是我們平常用到來的直接kill -9 1120;
第二種就是使用fuser -ck /mnt
[root@docker /]# fuser -ck /mnt /mnt: 1120c
當我們需要知道哪個目錄被哪個程序所佔用的時候,也可以使用lsof 命令進行檢視。
最新評論