linux 查看端口占用

linux 查看端口占用,第1张

在项目的部署的时候,会遇到端口被占用的情况,需要我们先停下占用端口的进程,然后才能开启新的服务来使用这个端口,那么在linux上怎么查看端口被什么进程占用呢?
一、常用命令:
1,lsof -i:端口号
2,netstat -tunlp|grep 端口号
这两个命令都可以查看端口被什么进程占用。
lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图
lsof输出的每列的意义是:
COMMAND:进程的名称或者进程开启的方式
PID:进程id
USER:进程所有者
FD:文件描述符
TYPE:协议类型
DEVICE:端口号
SIZE/OFF:偏移
NODE:协议名
NAME:节点名
lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22
netstat -tunlp用于显示tcp,udp的端口和进程等相关情况
命令里的t,u,n,l,p均有不同含义:
-t 仅显示和tcp相关的
-u 仅显示和udp相关的
-n 不限时别名,能显示数字的全部转换为数字
-l 仅显示出于Listen(监听)状态的
-p 显示建立这些连接的程序名
netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22

步骤一lsof -i

lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令

步骤二lsof -i:端口号

lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22

步骤三netstat -tunlp

netstat -tunlp用于显示tcp,udp的端口和进程等相关情况

步骤四netstat -tunlp|grep 端口号

netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22

使用netstat命令查看,端口使用情况。其中Local Address 有端口的表示本机启用的服务占用的端口,这些端口一直被服务占用。Foreign Address有端口的是外部程序连接本机服务,本机随机分配的端口,这些端口随着外包程序断开连接自动释放

使用lsof命令:lsof -i :port_number |grep (LISTEN);-i是用来查找和网络相关的文件,:号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep (LISTEN)。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。

使用命令:

ps -aux | grep tomcat

发现并没有8080端口的Tomcat进程。

使用命令:netstat –apn

查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name

发现8080端口被PID为9658的Java进程占用。

进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12594496.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存