lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。总之是个很牛逼的工具。
我在一次定位目录被进程占用问题时用到,特此总结一下。
首先如下地址下载lsof命令的源码包
安装
解压tar包后进入源码目录 sh Configure -h 命令查看一些方言。我的suse上我选的是linux
sh Configure linux
make
上述命令运行后,就装好了,注意,一定要用root命令运行。
可以用lsof -h 命令测试一下安装情况。
使用
介绍几个使用的命令
1.查看哪个进程占用某个文件
lsof 文件名
2.查看一个进程占用那些文件 lsof -p 进程id
3.产看一个目录下面所有文件被那些进程占用
lsof +d 目录 (只列出当前文件夹下的文件)
lsof +D 目录 (递归列出目录中所有文件)
4.查看端口被占用情况
lsof -i :8080