問題描述:
Linux下掛載后的分區或者磁盤某些時候需要umount的時候出現類似“umount: /mnt: target is busy.”等字樣,或者“umount: /xxx: device is busy.”。

問題原因:
該報錯通常是由於待卸載磁盤正在使用,導致無法直接卸載。需要將當前使用數據盤的進程殺掉,才能卸載。
解決辦法:
方法一、 使用fuser命令處理
安裝fuser命令
[root@server-10 ~]# yum install psmisc
查看在使用的進程
[root@server-10 ~]# fuser -mv /mnt/ USER PID ACCESS COMMAND /mnt: root kernel mount /mnt root 13830 ..c.. bash
殺死占用的進程,並再次查看
[root@server-10 ~]# fuser -kv /mnt/ USER PID ACCESS COMMAND /mnt: root kernel mount /mnt root 13830 ..c.. bash [root@server-10 ~]# fuser -mv /mnt/ USER PID ACCESS COMMAND /mnt: root kernel mount /mnt
確認無進程連接后,使用卸載命令
[root@server-10 ~]# umount /mnt/ [root@server-10 ~]#
參數說明:
-k,--kill kill processes accessing the named file
-m,--mount show all processes using the named filesystems or block device
-v,--verbose verbose output
注意:
可以使用 fuser -km /mnt 進行 kill 進程。
可以使用 kill 命令殺掉查到對應的進程 。
強制 kill 進程可能會導致數據丟失,請確保數據得到有效備份后,再進行相關操作。
方法二、通過lsof命令處理
[root@server-10 ~]# lsof /mnt/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 16302 root cwd DIR 8,17 50 64 /mnt
找到PID對應的進程或者服務,然后殺死或者停止相應服務即可。
結束.
