linux 根据端口查看进程

在 Linux 系统中,根据端口查看对应进程的常用命令有 ssnetstatlsof 三种,以下是具体操作步骤和示例,优先推荐 ss(性能更优)和 lsof(信息更全)。

一、使用 ss 命令(推荐,替代 netstat

ss 是 Linux 下查看套接字信息的工具,速度快、占用资源少,默认系统一般自带。

1. 基本语法
bash 复制代码
ss -tulnp | grep 端口号
2. 参数说明
  • -t:显示 TCP 协议端口
  • -u:显示 UDP 协议端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示端口号(不解析服务名)
  • -p:显示端口对应的进程 PID 和程序名(需要 root 权限,否则不显示进程信息)
3. 示例(查看 8080 端口进程)
bash 复制代码
# 普通用户执行(可能无进程信息)
ss -tulnp | grep 8080

# root 用户执行(完整信息)
sudo ss -tulnp | grep 8080
4. 输出示例
复制代码
LISTEN 0      128         0.0.0.0:8080      0.0.0.0:*    users:(("java",pid=1234,fd=42))

说明:8080 端口由 java 程序占用,进程 PID 为 1234

二、使用 lsof 命令(信息最全面)

lsofList Open Files 的缩写,可列出系统中打开的文件和端口关联的进程,部分系统需手动安装。

1. 安装 lsof(如未安装)
bash 复制代码
# CentOS/RHEL
sudo yum install lsof -y

# Ubuntu/Debian
sudo apt install lsof -y
2. 基本语法
bash 复制代码
lsof -i:端口号
3. 参数说明
  • -i:显示网络相关的文件 / 端口
  • :端口号:指定要查询的端口
4. 示例(查看 80 端口进程)
bash 复制代码
sudo lsof -i:80
5. 输出示例
bash 复制代码
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   5678  root    6u  IPv4  12345      0t0  TCP *:http (LISTEN)
nginx   5679  www     6u  IPv4  12345      0t0  TCP *:http (LISTEN)

说明:80 端口由 nginx 程序占用,有两个进程,PID 分别为 56785679

三、使用 netstat 命令(传统工具,部分系统已弃用)

netstat 是传统的网络状态查看工具,功能与 ss 类似,但性能稍弱,部分系统需安装 net-tools 包。

1. 安装 netstat(如未安装)
bash 复制代码
# CentOS/RHEL
sudo yum install net-tools -y

# Ubuntu/Debian
sudo apt install net-tools -y
2. 基本语法
bash 复制代码
netstat -tulnp | grep 端口号
3. 参数说明

ss 命令参数完全一致:

  • -t TCP 端口 -u UDP 端口 -l 监听状态 -n 数字端口 -p 进程信息
4. 示例
bash 复制代码
sudo netstat -tulnp | grep 3306

四、补充技巧

  1. 根据 PID 查看进程详情 查到 PID 后,可通过 ps 命令查看进程的详细信息:

    bash 复制代码
    ps -ef | grep 进程PID

    示例:ps -ef | grep 1234

  2. 查看所有监听端口及进程

    bash 复制代码
    sudo ss -tulnp  # 或 sudo netstat -tulnp

注意事项

  1. 查看进程信息(-p 参数)需要 root 权限,普通用户执行可能无法显示 PID 和程序名。
  2. 如果端口未被监听或无进程占用,命令执行后无输出。
相关推荐
NamoAmitabha12833 分钟前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No71 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌2 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121382 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck4 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商4 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484814 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS5 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿5 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog5 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros