linux--查明不能卸载分区的原因

 

当我们执行:sudo umount  /mnt/music的时候如果出现device is busy!是很令人尴尬的。我们要找出内部的原因。

umount提供了一个 -l 的选项,可以让你卸载那些正在使用中的设备。

这里介绍两个命令fuser(find user)和lsof(list open file);

 

发现使用文件系统的进程:

fuser------identify processes using files or sockets

fuser返回和指定为参数的设备或挂接的文件系统关联的所有进程的PID,以及每个进程使用文件系统方式的简洁信息。

fuser -m /home/winlin

/home/winlin:         1515rce  1579rce  1580rce  5634rce  5880rce  5899rce  5935rce  5940rce  5941rce  5947rce  5951rce  5954rce  5958rce  5963rce  5967rce  5968rce  5969rce  5972rce  5976rce  5979rce  5996rce  6003rce  6013rce  6016rce  6021rce  6022rce  6030rce  6038rce  6042rce  6043rce  6044rce  6054rce  6055rce  6068rce  6070rce  6072rce  6079rce  6116rce  6140rce  6143rce  6144rce  6146rce  6232rce  7285rce  7286rce  7295rce  7296rce  7300rce  7316rce  7326rce

其中的rce表示进程使用/home/winlin的方式。详见 man fuser;

在我们得到PID以后我们可以使用preg搜索每个指定进程的PID

ps alxww | grep 1515

winlin@winlin-Satellite:~$ ps alxww | grep 1515

1  1000  1515     1   9 -11 229196  5316 poll_s S<sl ?          0:01 /usr/bin/pulseaudio --start --log-target=syslog

0  1000  1580  1515  20   0 117560  3900 poll_s Sl   ?          0:00 /usr/lib/pulseaudio/pulse/gconf-helper

0  1000  7495  7300  20   0  10564   912 pipe_w S+   pts/0      0:00 grep --color=auto 1515

我们最好使用root用户执行以上的命令,root用户可以列出其他隐藏的进程。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

lsof返回在指定文件系统上运行的进程的详细信息,一次性的告诉用户可能需要的所有信息。

winlin@winlin-Satellite:~$ lsof /home/winlin

COMMAND    PID   USER   FD(文件描述符)   TYPE DEVICE SIZE/OFF     NODE NAME

gnome-ses 5899 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

gnome-pow 5951 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

stardict  5967 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

compiz    5968 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

polkit-gn 5969 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

gnome-pan 5972 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

nm-applet 5976 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

nautilus  5979 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

syndaemon 5996 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

sh        6054 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

gtk-windo 6055 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

gdu-notif 6140 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

sh        6143 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

chromium- 6144 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

chromium- 6146 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

chromium- 6232 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

sh        7285 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

keepnote  7286 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

sh        7295 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

gnome-ter 7296 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

bash      7300 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

lsof      7544 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

lsof      7545 winlin  cwd    DIR    8,1     4096 13369510 /home/winlin

最好也是使用root用户执行。hp?do=home

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值