之前将一块硬盘挂载到某个目录下,但是现在我想卸载掉这块硬盘,无论如何都umount不了,有些同学可能说需要加上 -f 参数强制卸载,理论上是可以的,但是在我这里依然不起作用,比如:

[root@:vg_adn_clickhouseTest_1ubuntu:: ~]#umount -f /data2
umount: /data2: target is busy.

我是把一块2T的硬盘挂载到/data2目录下了,可是现在就是卸载不了,说是设备忙,仔细分析一下可以得出应该是某些应用程序的进程占用了这块分区/data2 。应用程序一直在跑着,所以我们无法卸载这块硬盘。解决的方法就是找出哪个进程在占用这块硬盘。那我们知道一块硬盘一般上都是关联至某一个目录下的。所以我们就去找这个目录被哪些进程所占用。使用命令 lsof 即可

[root@:vg_adn_clickhouseTest_2ubuntu:172.31.19.193 ~]#lsof /data2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
clickhous 31721 clickhouse 7wW REG 253,0 59 45088774 /data2/clickhouse/status
[root@:vg_adn_clickhouseTest_2ubuntu:172.31.19.193 ~]#kill -9 31721
[root@:vg_adn_clickhouseTest_2ubuntu:172.31.19.193 ~]#service clickhouse-server status
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: signal) since Wed 2019-01-16 10:51:32 UTC; 11s ago
Process: 31721 ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml (code=killed, signal=KILL)
Process: 31715 ExecStartPre=/bin/chown clickhouse:clickhouse -R /etc/clickhouse-server (code=exited, status=0/SUCCESS)
Process: 31713 ExecStartPre=/usr/bin/chown clickhouse:clickhouse -R /etc/clickhouse-server (code=exited, status=0/SUCCESS)
Main PID: 31721 (code=killed, signal=KILL) Jan 16 10:51:32 ip-172-31-19-193 systemd[]: clickhouse-server.service: Failed with result 'signal'.

现在我们找到原来是clickhouse程序在占用这块磁盘,因此我们卸载不了。事实上,lsof命令后面也可以跟上lvm的名字也是可以查出来的。

fuser命令也可以查看某块设备被哪个程序占用,

假设无法卸载的设备为/dev/sdb1
)运行下面命令看一下哪个用户哪个进程占用着此设备
fuser -m -v /dev/sdb1 )运行下面命令杀掉占用此设备的进程
fuser -m -v -k /dev/sdb1
或者fuser -m -v -k -i /dev/sdb1(每杀掉一下进程会让你确认)
)再umount

Linux运维之如何查看目录被哪些进程所占用,lsof命令、fuser命令的更多相关文章

  1. linux运维/自动化开发__目录

    服务器软件安装 nginx apache php mysql oracle tomcat memcached mongodb sqlserver 常用pc端工具安装使用 Xshell         ...

  2. Linux运维之——每日小技巧,谈进程与线程的区别

    线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源. ...

  3. (转)Linux运维MySQL必会面试题100道

    老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口 ...

  4. 【Linux 运维】Linux 目录

    目录 [Linux 运维]Centos7初始化网络配置 [Linux 运维]linux系统修改主机名 [Linux 运维]linux系统关机.重启.注销命令 [Linux 运维]linux系统查看版本 ...

  5. Linux运维相关目录

  6. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  7. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  8. linux运维中的命令梳理(二)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...

  9. Linux运维人员共用root帐户权限审计

    Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...

随机推荐

  1. 读vue-0.6-utils.js源码

    typeOf typeOf: function (obj) { return toString.call(obj).slice(8, -1) } 每个对象都有一个 toString() 方法,当对象被 ...

  2. Kafka实战解惑

    目录 一. kafka简介二. Kafka架构方案三. Kafka安装四. Kafka Client API 4.1 Producers API 4.2 Consumers API 4.3 消息高可靠 ...

  3. 基于vue2.0实现仿百度前端分页效果(二)

    前言 上篇文章中,已经使用vue实现前端分页效果,这篇文章我们单独将分页抽离出来实现一个分页组件 先看实现效果图 代码实现 按照惯例,我们在冻手实现的时候还是先想一想vue实现组件的思路 1.需要提前 ...

  4. Angular2入门:TypeScript的类型 - let , var, const

    一.let 二.const

  5. Vue2.5开发去哪儿网App 详情页面开发

    一,banner 图的设计 1. 新建detail的路由 import Detail from '@/pages/detail/Detail' ...... { path: '/detail', na ...

  6. [转]ionic3 实现android版本打包

    本文转自:https://blog.csdn.net/weixin_39461487/article/details/79387250?utm_source=blogxgwz0 版权声明:本文为博主原 ...

  7. 菜鸟入门【ASP.NET Core】7:WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试

    WebHost的配置 我们用vs2017新建一个空网站HelloCore 可以使用ConfigureAppConfiguration对配置进行更改,比如说添加jsonfile和commandline配 ...

  8. spring boot 之 Mybatis 配置

    ############################## mybatis配置 ######################################mybatis.configuration ...

  9. 移动端FastClick和editor冲突问题。

        FastClick.prototype.needsClickForParent = function (target) {         let parent = target.parent ...

  10. sql server:Monty Hall problem (蒙提霍尔问题)

    --------------------------------------------------------------------- -- Auxiliry Table of Numbers 数 ...