简介
在linux环境下,一切皆文件,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,文件描述符提供了大量关于这个应用程序本身的信息。
参数:
1 | -a 列出被打开的文件的进程列表 |
实例
文件被哪些进程打开了
1 | root@lzjun:~# lsof -a /var/lib/mysql/mysql/slow_log.CSV |
列出用户打开的文件
1 | root@lzjun:~# lsof -u root | more |
列出程序(command)打开了哪些文件
1 | root@lzjun:~# lsof -c python |
根据进程号列出该进程打开的文件
1 | root@lzjun:~# lsof -p 31370 #nginx的进程号 |
查看所有网络连接,包括tcp,udp,ipv4,ipv6的连接(网络连接也是文件)
1 | root@lzjun:~# lsof -i |
查看某个端口打开的文件(socket 连接)
1 | root@lzjun:~# lsof -i :80 |
查看所有TCP连接
1 | lsof -n -P -i TCP -s TCP:LISTEN |