CentOS 关机 自动 umount 强制卸载 nfs的方法

来源:互联网 发布:云计算平台 开源 编辑:程序博客网 时间:2024/04/29 03:14

 CentOS 如果挂载了nfs服务器,当调用命令或按钮关闭计算机时,有可能出现:umount: /xx_path : device is busy

导致操作系统无法关闭。

     由于项目需要,要求 无论调用 关机命令(shutdown 、 init 0)或 重启命令(reboot 、init 6),点击 关机按钮 或 重启按钮后, 在即使有无法卸载的 nfs的情况,也能够正常关闭或重启服务器。


分几步实现:


1. 创建 关机前执行的脚本文件:scriptname

    stop()      {       umount -lf /mount_path/*      }    case "$1" in        stop)        stop        ;;    esac

2.  把 scriptname 脚本放到 /etc/init.d目录下,并赋予该脚本执行权限

   并在 /etc/rc0.d   和  /etc/rc6.d  目录下 创建软连接,

    chmod 777 /etc/init.d/scriptname    ln -s  /etc/init.d/scriptname  /etc/rc0.d/K11scriptname     ln -s  /etc/init.d/scriptname  /etc/rc6.d/K11scriptname 


3. 创建lock 文件

touch /var/lock/subsys/scriptname

4.  需要注意的是  lock文件,关机后,就会被删除,也就是说 它只能使用一次。如果想保持始终关机或重启能够执行 scriptname 脚本,就必须保证 关机或重启前 lock文件文在

5. 上述问题的解决办法:每次开机时生成 lock文件。如果把 该脚本制作成完整的服务程序,并打包成rpm,则在安装时,会提示与chkconfig 冲突,无法正确安装,如果添加 --force 参数,可以安装。

0 0