|
umount卸载磁盘时,如果有进程在使用该盘,则卸载不成功,报错如下:
1
2
3
4
| # umount /data
umount: /data:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
|
一、命令介绍
1.fuser
用法 :fuser [-umv] [-k [-signal] ] file/dir
-u:除了进程的PID外 ,同时列出该进程的所有者。
-m:后接的文件名会主动上调到文件系统的所顶层,对umount不成功很有效。
-v:列出每个文件与程序还有命令的完整相关性。
-k:找出使用文件/目录的pid,并试图一sigkill这个信号给予该pid.
-i:与,-k合用,kill前询问用户意愿。
-signal:1,15,9
可用于在无法umount文件时,查看pid,并杀死进程见下面的例子
1
2
3
4
5
6
7
8
9
| # fuser /var/www/html/centos/
/var/www/html/centos/: 9807c
# ps -aux|grep 9807
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 9807 0.0 0.0 108428 2000 pts/2 Ss+ 14:52 0:00 -bash
root 10003 0.0 0.0 103240 896 pts/3 S+ 15:05 0:00 grep 9807
[iyunv@sf ~]# kill -9 9807
[iyunv@sf ~]# umount /var/www/html/centos/
|
2.lsof
用法:lsof [-aUu] [+d], 一个奇怪的命令,
-u:后接username;
+d:后接目录,找出某个目录下面已经被打开的文件。
1
2
3
4
5
6
7
8
| # lsof +d /data
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 99174 root cwd DIR 8,17 4096 2 /data
# ps aux |grep 99174
root 99174 0.0 0.0 116756 3456 pts/0 Ss+ 09:29 0:00 -bash
root 100513 0.0 0.0 112664 968 pts/5 S+ 16:47 0:00 grep --color=auto 99174
#kill -9 99174
#umount /data
|
|
|
|