问题
如何根据端口号查出来占用此端口号的进程?
这个问题需要分解为两部分,首先根据端口号查询出进程号
,再根据进程号查询到相应的应用
。以下使用8080端口为例进行说明。
查进程号
lsof命令
使用方法:
lsof -i:8080
以查询8080端口占用为例:
可以从图里面看到占用8080端口的进程号是2406。
netstat命令
netstat -tunlp|grep 8080
以查询8080端口占用为例:
可以从图里面看到占用8080端口的进程号是2406,以下是参数说明:
选项 | 说明 |
---|---|
-t | (tcp) 仅显示tcp相关选项 |
-u | (udp)仅显示udp相关选项 |
-n | 拒绝显示别名,能显示数字的全部转化为数字 |
-l | 仅列出在Listen(监听)的服务状态 |
-p | 显示建立相关链接的程序名 |
查应用
方式一
这里以上面查询到的进程号2406
为例:
ps -ef| grep 2406
通过上图可以看出占用8080端口的是tomcat进程
方式二
这里以上面查询到的进程号2406
为例:
ps aux | grep 2406
通过上图可以看出占用8080端口的是tomcat进程