1、递归查找某个目录中所有打开的文件
# lsof +D /usr/lib
2、列出某个用户打开的所有文件
# lsof -u pkrumins
-u选项限定只列出所有被用户pkrumins打开的文件,你可以通过逗号指定多个用户:
# lsof -u rms,root
列出除root用户外的所有用户打开的文件
# lsof -u ^root
3、查找某个程序打开的所有文件
# lsof -c apache
-c选项限定只列出以apache开头的进程
4、列出所有由某个PID对应的进程打开的文件
# lsof -p 1
列出所有进程打开的文件除了某个pid的
# lsof -p ^1
5、列出所有网络连接
# lsof -i
lsof的-i选项可以列出所有打开了网络套接字(TCP和UDP)的进程。
找到某个用户的所有网络连接
# lsof -a -u hacker -i
# lsof -i udp:53
# lsof -i tcp:80
6、输出使用某些资源的进程pid
# lsof -t -i
-t选项输出进程的PID,你可以将它和-i选项组合输出使用某个端口的进程的PID,下面的命令将会杀掉所有使用网络的进程:
# kill -9 `lsof -t -i`
总结:lsof常用的选项有-p -i -u -c +D -t