在 Linux 中查看进程占用的端口,常用的命令组合如下:
sudo netstat -tulnp
# 或
sudo ss -tulnp
参数说明:
- -t:TCP 端口
- -u:UDP 端口
- -l:仅显示监听中的端口
- -n:以数字形式显示端口(不解析服务名)
- -p:显示进程信息(需要 root 权限)
输出示例:
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
# 通过进程名(如 nginx)
sudo ss -tulnp | grep nginx
# 通过进程 PID(如 PID 1234)
sudo lsof -i -P -n | grep 1234
lsof 命令(需安装,功能更详细):
sudo lsof -i -P -n
-i:显示网络连接-P:禁用端口名解析(直接显示数字端口)-n:禁用主机名解析(显示 IP)ps 结合端口信息:
ps aux | grep [进程名]
sudo lsof -i :80 # 检查 80 端口
# 或
sudo netstat -tuln | grep :80
sudo)。bash
sudo apt install net-tools lsof # Debian/Ubuntu
sudo yum install net-tools lsof # CentOS/RHEL根据需求选择命令即可,ss 是新版推荐工具(比 netstat 更高效)。