ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

linux 根据端口查看进程

2026/8/17 0:52:35 拓冰建站 浏览量
linux 根据端口查看进程

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

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

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

1. 基本语法
ss -tulnp | grep 端口号
2. 参数说明
  • -t:显示 TCP 协议端口
  • -u:显示 UDP 协议端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示端口号(不解析服务名)
  • -p:显示端口对应的进程 PID 和程序名(需要 root 权限,否则不显示进程信息)
3. 示例(查看 8080 端口进程)
# 普通用户执行(可能无进程信息) 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(如未安装)
# CentOS/RHEL sudo yum install lsof -y # Ubuntu/Debian sudo apt install lsof -y
2. 基本语法
lsof -i:端口号
3. 参数说明
  • -i:显示网络相关的文件 / 端口
  • :端口号:指定要查询的端口
4. 示例(查看 80 端口进程)
sudo lsof -i:80
5. 输出示例
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(如未安装)
# CentOS/RHEL sudo yum install net-tools -y # Ubuntu/Debian sudo apt install net-tools -y
2. 基本语法
netstat -tulnp | grep 端口号
3. 参数说明

ss命令参数完全一致:

  • -tTCP 端口-uUDP 端口-l监听状态-n数字端口-p进程信息
4. 示例
sudo netstat -tulnp | grep 3306

四、补充技巧

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

    ps -ef | grep 进程PID

    示例:ps -ef | grep 1234

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

    sudo ss -tulnp # 或 sudo netstat -tulnp

注意事项

  1. 查看进程信息(-p参数)需要root 权限,普通用户执行可能无法显示 PID 和程序名。
  2. 如果端口未被监听或无进程占用,命令执行后无输出。