问题

如何根据端口号查出来占用此端口号的进程?
这个问题需要分解为两部分,首先根据端口号查询出进程号,再根据进程号查询到相应的应用。以下使用8080端口为例进行说明。

查进程号

lsof命令

使用方法:

lsof -i:8080

以查询8080端口占用为例:
图1
可以从图里面看到占用8080端口的进程号是2406

netstat命令

netstat -tunlp|grep 8080

以查询8080端口占用为例:
图2
可以从图里面看到占用8080端口的进程号是2406,以下是参数说明:

选项 说明
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

查应用

方式一

这里以上面查询到的进程号2406为例:

ps -ef| grep 2406

图3
通过上图可以看出占用8080端口的是tomcat进程

方式二

这里以上面查询到的进程号2406为例:

ps aux | grep 2406

图4
通过上图可以看出占用8080端口的是tomcat进程

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐