平台:亞馬遜雲
系統:centos7
之前因為業務需要在/data 下掛載了一塊100G數據盤,長時間沒有使用,需要回收掉,umount卸載的時候卸載不掉
進入/data目錄下查看,沒有文件寫入
umount卸載提示磁盤繁忙
解決辦法:使用fuser命令先查看該目錄正在被那個進程占用着
fuser -m -v /data/
運行下面命令殺掉占用此設備的進程
再次查看就顯示沒有被ec2-user這個用戶占用
我們也可以根據查詢到的pid號來進一步查看是什么程序占用的,然后就可以進一步解決
現在沒有被用戶占用我們就直接umount卸載
這次卸載很順利
========================================================================
fuser參數介紹:
-k 殺掉訪問文件的進程。如果沒有指定-signal就會發送SIGKILL信號。
-i 殺掉進程之前詢問用戶,如果沒有-k這個選項會被忽略。
-v 詳細模式。輸出似ps命令的輸出,包含PID,USER,COMMAND等許多域,如果是內核訪問的那么PID為kernel.
-m name 指定一個掛載文件系統上的文件或者被掛載的塊設備(名稱name)。這樣所有訪問這個文件或者文件系統的進程都會被列出來。如果指定的是一個目錄會自動轉換成"name/",並使用所有掛載在那個目錄下面的文件系統。
fuser不僅可以查詢掛載磁盤被那個程序占用,還可以查詢端口被那個程序占用