Linux lsof 命令详解(2)

lsof 常见的用法是查找应用程序打开的文件的名称和数目。可用于查找出某个特定应用程序将日志数据记录到何处,或者正在跟踪某个问题。

例如,linux 限制了进程能够打开文件的数目。通常这个数值很大,所以不会产生问题,并且在需要时,应用程序可以请求更大的值(直到某个上限)。如果你怀疑应用程序耗尽了文件描述符,那么可以使用 lsof 统计打开的文件数目,以进行验证。

lsof语法格式是:
lsof [options] filename

常用的参数列表:
lsof  filename          显示打开指定文件的所有进程
lsof -a                        表示两个参数都必须满足时才显示结果
lsof -c string            显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username    显示所属user进程打开的文件
lsof -g gid                显示归属gid的进程情况
lsof +d /DIR/            显示目录下被进程打开的文件
lsof +D /DIR/          同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD                显示指定文件描述符的进程
lsof -n                      不将IP转换为hostname,缺省是不加上-n参数
lsof -i                      用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
            46 --> IPv4 or IPv6
            protocol --> TCP or UDP
            hostname --> Internet host name
            hostaddr --> IPv4地址
            service --> /etc/service中的 service name (可以不只一个)
            port --> 端口号 (可以不只一个)


例如: 查看22端口现在运行的情况
# lsof -i :22
COMMAND  PID USER  FD  TYPE DEVICE SIZE NODE NAME
sshd    1409 root    3u  IPv6  5678      TCP *:ssh (LISTEN)

查看所属root用户进程所打开的文件类型为txt的文件:
# lsof -a -u root -d txt
COMMAND    PID USER  FD      TYPE DEVICE    SIZE    NODE NAME
init      1    root txt      REG    3,3  38432 1763452 /sbin/init
mingetty  1632 root txt      REG    3,3  14366 1763337 /sbin/mingetty
mingetty  1633 root txt      REG    3,3  14366 1763337 /sbin/mingetty
mingetty  1634 root txt      REG    3,3  14366 1763337 /sbin/mingetty
mingetty  1635 root txt      REG    3,3  14366 1763337 /sbin/mingetty
mingetty  1636 root txt      REG    3,3  14366 1763337 /sbin/mingetty
mingetty  1637 root txt      REG    3,3  14366 1763337 /sbin/mingetty
kdm        1638 root txt      REG    3,3  132548 1428194 /usr/bin/kdm
X          1670 root txt      REG    3,3 1716396 1428336 /usr/bin/Xorg
kdm        1671 root txt      REG    3,3  132548 1428194 /usr/bin/kdm
startkde  2427 root txt      REG    3,3  645408 1544195 /bin/bash

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20131.html