百度
360搜索
搜狗搜索

linux查看服务程序占用端口命令详细介绍

在 Linux 系统中,查看服务程序占用端口的常用命令有以下几种:

1.
netstat(传统工具)

netstat 可用于显示网络状态,结合特定选项能查看端口占用情况。
常用命令:
bash

  

  • 选项说明
    • -t:显示 TCP 协议相关端口;
    • -u:显示 UDP 协议相关端口;
    • -n:以数字形式显示 IP 和端口(而非域名 / 服务名);
    • -l:仅显示处于监听(Listening)状态的端口;
    • -p:显示占用端口的进程 ID(PID)和程序名。

示例输出
plaintext

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd

tcp6 0 0 :::8080 :::* LISTEN 5678/java

udp 0 0 0.0.0.0:68 0.0.0.0:* 9012/dhclient

其中 8080 端口被 PID 为 5678java 程序占用。

2.
lsof(查看文件 / 端口占用)

lsof(List Open Files)可显示进程打开的文件 / 网络连接,通过 -i 选项过滤网络端口。
常用命令:

  • 查看所有占用端口的进程:bash
      

  • 查看指定端口(如 8080)的占用进程:bash
      

示例输出
plaintext

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

java 5678 root 45u IPv6 12345 0t0 TCP *:8080 (LISTEN)

表示 PID 为 5678java 程序占用了 8080 端口。

3.
ss(现代高效工具)

ssnetstat 的替代工具,性能更优,适合大流量场景。
常用命令:
bash

 ss 

选项含义与 netstat -tunlp 一致(-t/-u/-n/-l/-p),输出格式更简洁。

注意事项

  • 部分命令需要 sudo 权限(如查看其他用户的进程);
  • 若需定位具体进程路径,可通过 ps -ef | grep 进程PID 进一步查看(如 ps -ef | grep 5678);
  • 若端口未显示,可能是进程未处于监听状态(如客户端连接),可去掉 -l 选项查看所有连接。

阅读更多 >>>  linux如何查询某ip的端口

文章数据信息:

本文主要探讨:"linux查看服务程序占用端口命令", 浏览人数已经达到31次, 首屏加载时间:1.398 秒。