zoukankan      html  css  js  c++  java
  • 解决umount: /home: device is busy

     取消挂载/home时出现umount: /home: device is busy,
        
        原因是因为有程序在使用/home目录,我们可以使用fuser查看那些程序的进程,
        
        然后杀掉就可以了。
        
        [root@localhost home]# fuser -m /home
        
        /home: 10278c 10279c 10280c 10281c 10282c 10295 10365 18222c
        

        命令:kill -9 pid

    其他还有很多命令:fuser -m /home

     fuser -kvm /home 

    umount -f /home 强行解除挂载

    umount命令

      解挂文件系统。umount [-ahnrvV][-t 《文件系统类型》][文件系统]

      umount可卸除目前挂在Linux目录中的文件系统。

      线上在用的nfs访问时出了问题,导致/data1目录ls都无法进行输出,需要进行卸载掉 。而直接卸载时由于目录正被其他进程占用 ,无法直接umount,这里就结合fuser进行umount卸载。

      1、直接卸载

      [root@localhost /]# umount /data1/img

      umount: /data1/img: device is busy

      umount: /data1/img: device is busy

      2、提示被占用,使用强制卸载

      [root@localhost /]# umount -f /data1/img

      umount2: Device or resource busy

      umount: /data1/img: device is busy

      umount2: Device or resource busy

      umount: /data1/img: device is busy

      注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。

      3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录

      [root@localhost /]# fuser -cu /data1/img

      /data1/img: 1757c(mysql)

      上面查看发现是pid为1757的mysql用户起的进程在占用该目录。

      4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)

      [root@localhost /]# fuser -ck /data1/img

      /data1/img: 1757c

      注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。

      另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用

      上面就是Linux使用umount命令强制卸载文件系统的方法,即使提示被占用也照样能够通过命令来卸载。

  • 相关阅读:
    spring中bean的生命周期
    【数据结构与算法】2.2 数组实现循环队列思路、代码
    【数据结构与算法】2.1、数组队列场景、思路、实现
    【Java 基础领域】手气红包实现思路、代码
    【数据结构与算法】1、稀疏数组场景、思路、代码实现
    【Java基础领域】 byte num = 100 没有强制类型转换,为什么也可以编译通过
    【程序人生】程序员发展的7大方向
    【读书笔记】老许的架构
    对于开发中为什么很少用设计模式的思考
    Java编程思想目录
  • 原文地址:https://www.cnblogs.com/keystone/p/12708724.html
Copyright © 2011-2022 走看看