在Linux系统下,查看端口的使用情况通常使用以下几种命令:
netstat
命令netstat
是一个网络统计工具,可以显示网络连接、路由表、接口统计等。要查看端口的使用情况,可以使用以下命令:
netstat -tuln
-t
表示显示TCP连接。-u
表示显示UDP连接。-l
表示仅显示监听套接字。-n
表示以数字形式显示地址和端口号。示例输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::123 :::*
ss
命令ss
是 netstat
的替代品,性能更好,功能也更强大。查看端口使用情况的命令如下:
ss -tuln
参数含义与 netstat
相同。
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 128 :::80 :::*
UNCONN 0 0 *:123 *:*
UNCONN 0 0 :::123 :::*
lsof
命令lsof
(List Open Files)可以列出当前系统打开的文件,包括网络端口。查看特定端口的命令如下:
lsof -i :端口号
例如,查看80端口的使用情况:
lsof -i :80
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 8u IPv4 12345 0t0 TCP *:http (LISTEN)
fuser
命令fuser
可以显示使用某个文件或文件系统的进程。查看端口使用情况的命令如下:
fuser 端口号/tcp
例如,查看80端口的使用情况:
fuser 80/tcp
示例输出:
80/tcp: 1234
原因:另一个进程已经在使用该端口。
解决方法:
lsof
或 netstat
找到占用端口的进程ID(PID)。kill
命令终止该进程:kill
命令终止该进程:原因:可能是权限不足或命令未安装。
解决方法:
sudo
提升权限:sudo
提升权限:net-tools
包含 netstat
):net-tools
包含 netstat
):通过这些命令和方法,可以有效地管理和监控Linux系统中的端口使用情况。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
Elastic 实战工作坊
Elastic 实战工作坊
第四期Techo TVP开发者峰会
云+社区技术沙龙[第14期]
DB TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云