在 Debian(以及大多数 Linux 发行版)上,查看进程占用的端口常用以下几种方法:
ss(推荐,现代系统默认自带)sudo ss -tulnp
参数说明:
-t:TCP-u:UDP-l:监听中的端口-n:以数字显示端口-p:显示进程信息示例输出:
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3))
只看某端口(如 80):
sudo ss -tulnp | grep :80
netstat(老工具,需安装)sudo apt install net-tools
sudo netstat -tulnp
lsof(按端口或进程查)查看某端口被谁占用:
sudo lsof -i :8080
查看某进程打开的端口:
sudo lsof -p <PID>
pidof nginx
sudo ss -tulnp | grep nginx
如果是 Docker 容器:
docker ps
docker port <容器名>
查看 iptables / nftables 规则:
sudo iptables -L -n
sudo nft list ruleset
✅ 首选:sudo ss -tulnp
✅ 查端口归属:sudo lsof -i :端口
如果你有具体场景(比如“某个服务起不来”“想看 Java 进程端口”),可以告诉我,我给你更针对性的命令。