lsof 列出打开的文件
在标准输出打印出进程打开的文件。
在没有任何选项的情况下,将列出所有活动的进程打开的相关文件。如果带有某个选项,将会对无任何选项的输出作出过滤。
简单使用
指定用户
输出用户admin、或者用户sunny的所有进程打开的文件。
# lsof -uadmin -usunny
# lsof -groot
指定某个进程
进程ID:6730
# lsof -p6730
进程名:if2
# lsof -cif2
输出属于用户sunny的UNIX套接子进程打开的文件
# lsof -a -U -usunny
例子
1. 谁正在使用一个指定的文件
# lsof /var/log/httpd/access_log
# lsof /etc/httpd/conf/httpd.conf
2. 找出阻止umount的进程
# lsof /mnt
# lsof /dev/sdb
3. 找出监听状态的套接子
# lsof -i
显示 组id
# lsof -i -g
# lsof -itcp
# lsof -iudp
# lsof -i -U (unix套接子)
列出端口数字(而不是端口名称)
# lsof -i -P
# lsof -i -P -s
4. 搜寻特定的网络连接
# netstat -nltpa
# lsof -itcp@117.34.73.193:3389
5. 查找某个命令打开的文件
# lsof -p pid
# lsof -c startx
# lsof -c httpd
# lsof -p1 -r (默认15秒)
# lsof -p1 -r1
6. 监听NFS文件
# lsof -N
7. 监听登入用户打开的文件
# lsof -uadmin
# lsof -u500
# lsof -u^admin
# lsof -u^0
列出打开的文件
在标准输出输出进程打开的文件。
在没有任何选项的情况下,将列出所有活动中的进程的相关文件。如果带有某个选项,将会对无任何选项的输出作出过滤。
eg:
lsof -uadmin username
lsof -p6730 pid
lsof -groot gid
lsof -c
lsof -s
传输层协议的状态名称
属于sunny的unix套接字文件。
lsof -a -U -usunny
lsof -a -usunny -uadmin | wc -l
lsof -o -usunny -uadmin | wc -l
两条命令最终的值相等。
----------------------------------------------------
lsof.例子
谁正在使用一个指定的文件
lsof /var/log/httpd/access-log
ps -ef | grep httpd
lsof /etc/httpd/conf/httpd.conf
找出阻止umount的进程
lsof /mnt
lsof /dev/sdb
找出监听状态的套接字
lsof -i
lsof -itcp
lsof -iudp
lsof -i -g (显示组ID进程)
lsof -i -U (unix套接字)
lsof -i -P (列出端口数而不是名)
lsof -i -P -s (列出文件大小)
搜索特定的网络连接
netstat -nltpa
lsof -itcp@172.16.50.35:3389
查找某个命令打开的文件
lsof -p pid
lsof -c startx
lsof -c httpd
lsof -p1 -r (默认15秒)
lsof -p1 -r1
监听NFS文件
lsof -N
监听登入用户打开的文件
lsof -uadmin
lsof -u500
lsof -u^admin
lsof -u^0