lsof 监听端口查看

lsof(list open files)

lsof(list open files)是一个列出当前系统打开文件的工具,可以查看端口占用情况。

查看端口占用

lsof -i
netstat -an|grep 端口号

查看应用的监听端口

lsof -i -P -n |grep LISTEN
/home/afa >lsof -i -P -n |grep LISTEN
COMMAND  PID  USER   FD   TYPE    DEVICE SIZE/OFF  NODE NAME
java    107934  afa  248u  IPv6 29533384      0t0  TCP *:9004 (LISTEN)
java    108319  afa  415u  IPv6 29533470      0t0  TCP *:9051 (LISTEN)
java    108319  afa  418u  IPv6 29533471      0t0  TCP *:9031 (LISTEN)
java    108319  afa  420u  IPv6 29533475      0t0  TCP 10.150.5.184:6666 (LISTEN)
java    108319  afa  421u  IPv6 29533476      0t0  TCP *:11088 (LISTEN)
java    109138  afa  364u  IPv6 29504031      0t0  TCP *:9151 (LISTEN)
java    109138  afa  365u  IPv6 29504032      0t0  TCP *:11188 (LISTEN)
java    109138  afa  366u  IPv6 29504033      0t0  TCP *:9131 (LISTEN)

lsof输出各列信息的意义如下:

COMMAND:执行程序的命令 java应用程序显示为java
PID: process ID,进程标识符,
USER:进程所有者,即执行命令的用户
FD:file descriptor,进程独有的文件描述符表的索引,应用程序通过文件描述符识别该文件。如cwd、txt等 
TYPE:文件类型,这里是端口号,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识),这里是监听的类型
NAME:打开文件的确切名称,这里是监听的端口号

FD:最大打开文件描述符个数
可以通过 cat /proc/sys/fs/file-max 或者 sysctl -a | grep fs.file-max 命令查看

lsof其他用法

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

本文链接:https://my.lmcjl.com/post/6646.html

展开阅读全文

4 评论

留下您的评论.