lsof
lsof ( list opened files )用于列出系统中已经打开的文件,包括普通文件,目录,块特殊文件,字符特殊文件,正在执行的文本引用,库,流或网络文件(例如:网络套接字,NFS文件或UNIX域套接字)。
lsof需要单独安装:yum install lsof
常用参数
- -p pid : 输出指定进程打开的文件;
- -l : 输出中使用ID代替用户名;
- -u userName : 输出指定用户打开的文件;
- -c string : 输出 COMMAND 列中包含 string 的项;
- -d fd : 输出包含指定描述符的项;
- fileName : 输出打开文件 fileName 的所有项;
- -i [46] [protocol][@hostname|hostaddr][:service|port] : 输出符合指定条件的项,其中:
- 46 :分别指 IPv4、IPv6;
- protocol :指 TCP 或 UDP;
- hostname : 网络主机名;
- hostaddr : IP 地址;
- service : 包含在 /etc/services 中的名称;
- port : 端口号,可以是多个;
示例
列出 pid 6076 进程打开的文件
lsof -p 6076
输出用户打开的文件
lsof -u root
查看网络连接
lsof -i # 查看所有网络连接
lsof -i:22 #查看端口连接情况
查看指定进程打开的网络连接
lsof -i -a -p 1605