Linux 查看端口占用情况

Linux 查看端口占用情况

Linux 查看端口占用情况可以使用 netstat 和 lsof 、ss命令。

1、netstat

netstat 命令安装
yum install net-tools -y

netstat 常用参数说明
-a 显示所有连接的Socket
-n 不进行DNS解析,禁止将端口号转换成别名显示,能显示数字的全部转化为数字
-p 显示监听端口对应的程序,显示建立相关连接的程序名和程序PID
-t (tcp)显示tcp连接
-u (udp)显示udp连接
-l 显示在Listen(监听)服务状态的连接

1.netstat -anp | grep LISTEN
上述命令显示当前所有正在监听的端口及其使用情况,使用 grep 过滤出 LISTEN 的端口。

2.netstat -tunlp | grep 端口号
例如查看 8000 端口的情况,使用以下命令:
#netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs

更多命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况

kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993

2、lsof

lsof(list open files)是一个列出当前系统打开文件的工具。

lsof 查看端口占用语法格式:

1.lsof -i -P -n | grep LISTEN
-i :表示网络的连接端口号或者socket文件。
-P :此选项用于防止lsof对于长时间运行的程序,网络端口和文件进行状态间隔,因为这样会降低系统效能。
-n :表示不使用协议转换,数字地址直接表示,不进行DNS解析。
上述命令也会列出所有正在监听的端口及其使用情况,使用 grep 过滤出 LISTEN 的端口。

2.lsof -i:端口号
实例
查看服务器 8000 端口的占用情况:
#lsof -i:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
可以看到 8000 端口已经被轻 nodejs 服务占用。

lsof -i 需要 root 用户的权限来执行,如下图:
在这里插入图片描述
每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。
lsof输出各列信息的意义如下:
COMMAND:进程的名称 PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

更多 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文件

3、ss

1.ss -ltnp
-l :表示仅列出监听端口。
-t :表示仅列出TCP协议端口。
-n :表示不进行DNS解析。
-p :显示进程名称/ID
上述命令显示监听的TCP端口和与之相关的进程信息。

注意:执行这些命令需要root权限。

4、可通过 kill 命令强行杀掉占用端口的进程

kill -9 进程PID

示例:
kill -9 123 #123 是进程 PID,此命令可杀掉 PID 为 123 的端口进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值