Linux系统端口占用怎么查

在 Linux 中查看端口占用:,1. **netstat -tulpn | grep **:查看监听端口及对应进程。,2. **ss -tulpn | grep **:更快速替代 netstat。,3. **lsof -i :**:查找占用指定端口的进程。

方法1:使用 netstat 命令(经典工具)

netstat 是网络统计工具,可查看所有网络连接和监听端口。
操作步骤:

Linux系统端口占用怎么查

netstat -tuln | grep <端口号>
  • 参数解析
    -t:TCP端口
    -u:UDP端口
    -l:仅显示监听中的端口
    -n:以数字形式显示(不解析域名)
    -p:显示进程信息(需sudo权限)

示例:

$ netstat -tulnp | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd

输出解读
端口 22 被进程 sshd(PID 1234)占用,协议为TCP。


方法2:使用 ss 命令(netstat 的替代品)

ss(Socket Statistics)更快速高效,语法与 netstat 类似。
操作步骤:

ss -tuln | grep <端口号>

示例:

$ ss -tuln sport = :80
tcp   LISTEN 0      128          0.0.0.0:80        0.0.0.0:*  

输出解读
端口 80 处于监听状态(未显示进程时需结合 -p 参数)。

Linux系统端口占用怎么查


方法3:使用 lsof 命令(查看文件与进程关联)

lsof(List Open Files)可精确查看占用端口的进程。
操作步骤:

sudo lsof -i :<端口号>

示例:

$ sudo lsof -i :3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  5678 mysql   33u  IPv6 123456      0t0  TCP *:mysql (LISTEN)

输出解读
端口 3306mysqld 进程(PID 5678)占用。


方法4:使用 /proc 文件系统(底层排查)

Linux 通过 /proc 目录暴露进程信息,可直接读取网络状态。
操作步骤:

grep -l <端口号> /proc/net/tcp*  # 查找TCP端口
cat /proc/<PID>/net/tcp         # 根据PID检查

适用场景
当系统未安装 netstat/ss 时使用(如精简版Docker容器)。

Linux系统端口占用怎么查


端口占用后的处理建议

  1. 终止占用进程
    sudo kill <PID>          # 正常终止
    sudo kill -9 <PID>       # 强制终止(慎用)
  2. 修改服务配置
    若需保留原进程,修改应用配置文件更换端口(如Nginx的 listen 指令)。
  3. 预防冲突
    • 使用 systemctl status <服务名> 检查服务状态。
    • 通过 crontab 设置定期端口检查脚本。

方法对比与选择指南

方法 优势 适用场景
netstat 兼容性广(旧系统支持) 基础检查
ss 执行速度快,输出简洁 高效批量检查
lsof 进程信息详细,支持过滤 精准定位占用源
/proc 不依赖外部工具 极简环境故障排查

安全提示

  • 操作需 sudo 权限的命令时,确保理解其风险。
  • 生产环境中,终止进程前请确认其作用(如 sshd 占用22端口属正常现象)。

引用说明: 参考 Linux 官方文档(man7.org)及以下工具手册:

  1. netstat(8), ss(8), lsof(8) 的 man page 文档。
  2. Linux 内核文档 /proc/net/ 部分(kernel.org)。
  3. 操作实践基于 Ubuntu 22.04/CentOS 7 测试验证。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/18798.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月11日 00:08
下一篇 2025年6月11日 00:14

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN