查看系统中所有打开的文件,包括普通文件、设备文件、目录、套接字、管道等:
$ lsof
查看目录dir及其下面的文件是否被系统进程访问:
$ lsof +D dir
在删除或者移动dir之前做一个这样的检查很有用处。
要查看那些进程在使用某个文件,可以使用fuser命令:
$ fuser file
这在卸载一个文件系统时特别有用。当出现下面的情形时:
# umount /dev/hda5 umount: /media/win_D: device is busy
可以先使用如下的命令:
# fuser -m /media/win_D /media/win_D: 4381c
-m 告诉fuser要查看所有使用该文件所在的文件系统的进程;4381是进程号,c表示当前目录。这时你就可以知道4381号进程让你无法卸载该文件系统。使用kill命令将其杀死,就可以卸载成功了。当然,你可以使用如下的命令强制杀死所有的进程,然后卸载文件系统(比较危险,不建议这么做):
# fuser -k -KILL -m /media/win_D && umount /media/win_D
参考资料
查看打开文件
查看系统中所有打开的文件,包括普通文件、设备文件、目录、套接字、管道等:
查看目录dir及其下面的文件是否被系统进程访问:
在删除或者移动dir之前做一个这样的检查很有用处。
要查看那些进程在使用某个文件,可以使用fuser命令:
这在卸载一个文件系统时特别有用。当出现下面的情形时:
可以先使用如下的命令:
-m 告诉fuser要查看所有使用该文件所在的文件系统的进程;4381是进程号,c表示当前目录。这时你就可以知道4381号进程让你无法卸载该文件系统。使用kill命令将其杀死,就可以卸载成功了。当然,你可以使用如下的命令强制杀死所有的进程,然后卸载文件系统(比较危险,不建议这么做):
参考资料
Categories
Feeds
Tags
Copyright © 2012 Zhigang Wang. Some right reserved.
The views expressed on this web site are my own and do not necessarily reflect the views of Oracle.