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






lsof 列出进程打开的文件_sunny