在 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
更高效)。