使用netstat、ss和lsof命令可查看Linux端口占用情况,结合kill命令终止对应PID进程以释放端口,操作时需注意权限与服务安全。

在Linux系统中,查看和管理端口是日常运维中的基本操作。无论是排查服务异常、检查网络连接,还是关闭占用端口的进程,掌握相关命令都非常实用。
一、如何查看Linux端口使用情况
查看端口最常用的命令是 netstat 和 ss,它们可以列出当前系统的网络连接、监听端口等信息。
1. 使用 netstat 命令
如果系统中已安装 net-tools 包,可以使用以下命令:
-
netstat -tulnp:查看所有正在监听的TCP/UDP端口 -
-t:显示TCP连接 -
-u:显示UDP连接 -
-l:仅显示监听状态的端口 -
-n:以数字形式显示地址和端口号 -
-p:显示占用端口的进程PID和名称
例如:netstat -tulnp | grep :80 可用于查找是否有进程占用80端口。
2. 使用 ss 命令(推荐)
ss 是新一代的网络工具,比 netstat 更快更高效,大多数现代Linux发行版默认自带。
-
ss -tulnp:用法与 netstat 类似,功能相同 - 同样支持过滤,如
ss -tulnp | grep :22查看SSH端口
3. 使用 lsof 命令查看端口
lsof 能列出打开的文件,而网络连接在Linux中也被视为文件。
-
lsof -i:端口号:查看指定端口的占用情况
例如:lsof -i:3306查看MySQL端口使用情况 -
lsof -i:tcp或lsof -i:udp分协议查看
二、如何关闭占用端口的进程
查到端口被哪个进程占用后,若需关闭,可通过终止对应进程实现。
1. 获取进程PID
通过前面命令可看到输出中的 PID 列,例如:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1234/mysqld
这里的 1234 就是进程ID。
2. 终止进程
-
kill PID:尝试正常关闭进程
例如:kill 1234 -
kill -9 PID:强制终止进程(慎用)
例如:kill -9 1234
也可结合命令一键关闭:
-
lsof -t -i:8080 | xargs kill -9:查找8080端口的PID并强制关闭
三、常见问题与注意事项
执行上述操作时需要注意以下几点:
- 部分命令需要 root 权限,建议使用
sudo执行,如sudo netstat -tulnp - 关闭关键服务(如SSH、数据库)可能导致系统异常,请确认后再操作
- 某些端口可能被多个进程或容器占用,特别是在使用Docker时需额外注意
- 若命令未找到,可尝试安装对应工具包:
Ubuntu/Debian:apt install net-tools lsof
CentOS/RHEL:yum install net-tools lsof或dnf install
基本上就这些。掌握查看和关闭端口的方法,能快速定位服务冲突、端口占用等问题,提升排错效率。不复杂但容易忽略细节,建议多练习常用组合命令。










