麒麟os中查看端口占用及监听状态有五种方法:一、用netstat -tulnp查监听端口;二、用ss -tulnp替代netstat;三、用lsof -i :端口号精准定位进程;四、用firewall-cmd查防火墙放行端口;五、用fuser -k 端口/tcp快速终止占用进程。

如果您在麒麟OS中需要确认某个端口是否被占用,或希望了解当前系统中哪些服务正在监听网络端口,则可能是由于服务启动失败、端口冲突或安全审计需求。以下是查看端口占用及监听状态的多种方法:
一、使用 netstat 查看监听端口
netstat 是传统且兼容性良好的网络统计工具,能清晰列出所有处于 LISTEN 状态的 TCP/UDP 端口,并显示对应进程信息。该命令需 root 权限以获取完整进程名和 PID。
1、打开终端:在桌面空白处右键,选择“打开终端”。
2、执行监听端口查询命令:sudo netstat -tulnp。
3、若提示未安装 netstat,运行安装命令:sudo apt-get install net-tools(麒麟V10基于Ubuntu系)或 sudo yum install net-tools(麒麟V10基于CentOS系)。
4、观察输出列:Proto(协议)、Recv-Q/Send-Q(队列)、Local Address(本地地址与端口)、PID/Program name(进程ID与程序名);重点关注 *:端口号 或 127.0.0.1:端口号 形式的监听条目。
二、使用 ss 替代 netstat 查看端口
ss(socket statistics)是现代 Linux 发行版推荐的 netstat 替代工具,执行更快、资源占用更低,输出结构更简洁,尤其适合在资源受限的信创环境中使用。
1、在终端中输入:sudo ss -tulnp。
2、如遇命令未找到,安装 iproute2 工具包:sudo apt-get install iproute2 或 sudo yum install iproute。
3、比对输出中的 State 列为 LISTEN 的行,其 SrcAddr:SrcPort 即为监听地址与端口,PID/Program name 字段标识占用进程。
三、使用 lsof 按端口号精准定位进程
lsof 可直接按端口号筛选出占用该端口的进程详情,无需过滤大量输出,适用于快速诊断特定端口冲突问题。
1、检查 8080 端口占用情况:sudo lsof -i :8080。
2、若提示命令不存在,安装 lsof:sudo apt-get install lsof 或 sudo yum install lsof。
3、查看全部监听端口及其进程:sudo lsof -i -P -n | grep LISTEN。
4、输出中重点关注 COMMAND(服务名)、PID(进程号)、USER(运行用户)及 NAME(绑定地址与端口)字段。
四、使用 firewall-cmd 查看防火墙开放端口
firewall-cmd 用于查询 firewalld 防火墙当前放行的端口规则,不反映实际监听状态,但可辅助判断端口是否被策略允许对外通信。
1、列出当前所有防火墙配置:sudo firewall-cmd --list-all。
2、单独查询某端口是否在放行列表中:sudo firewall-cmd --query-port=22/tcp,返回 yes 表示已放行,no 表示未放行或不存在该规则。
3、确认 firewalld 服务运行状态:sudo systemctl status firewalld,确保其处于 active (running) 状态。
五、使用 fuser 快速终止端口占用进程
fuser 可直接定位并终止占用指定端口的进程,操作链路短,适合快速释放端口后重启服务。
1、检测 3306 端口占用并显示 PID:sudo fuser 3306/tcp。
2、强制杀掉该端口所有关联进程:sudo fuser -k 3306/tcp。
3、验证是否释放成功:sudo lsof -i :3306,若无输出则表示端口已空闲。










