這裡介紹在 Linux 中卸載(unmount)USB 隨身碟時,若出現 Volume is busy 的訊該如何解決。
在 Linux 系統上,當 USB 隨身碟使用完要準備拔除的時候,都要先進行卸載(unmount)的動作,而有時候在執行卸載動作時,會出現「Volume is busy」的訊息,無法順利卸載 USB 隨身碟。
以下介紹該如何處理這樣的狀況。
通常出現無法順利卸載 USB 隨身碟的狀況,都是因為系統上還有某個行程正在使用該 USB 隨身碟,我們可以利用 fuser
指令查詢是哪個行程正在使用它:
# 查詢使用掛載路徑的行程 fuser -m /media/seal/TS8G
/media/seal/TS8G: 3567
知道行程的 PID 之後,再用 ps
查出行程的指令名稱:
# 以 PID 查詢行程的指令 ps -xq 3567
PID TTY STAT TIME COMMAND 3567 tty2 Sl+ 0:28 nautilus-desktop
查出來的結果顯示目前正在使用 USB 隨身碟的就是 nautilus-desktop
這個程式。
若是想要強制中止使用 USB 隨身碟的行程,可以使用 kill
指令,並指定要強制中止的 PID:
# 強制中止指定行程 kill -9 3567
或是使用 fuser
配合 -k
參數,強制中止正在使用指定掛載位置的行程:
# 中止正在使用指定位置的行程 fuser -m -v -i -k /media/seal/TS8G
執行之後它會詢問是否要強制中止指定的行程,選擇 y
即可將正在使用 USB 隨身碟的行程砍掉。
參考資料:Tsung’s Blog