推荐优先使用 ss 查看端口占用,因其更快更轻量;ss -tuln 查监听端口,加 -p(需 root)显示进程,netstat 仅用于旧系统兼容。

Linux 查看端口占用,最常用也最有效的是 ss 和 netstat,但要注意:netstat 已被逐步淘汰,ss 是现代替代方案,更快更轻量,推荐优先使用。
ss(socket statistics)是 iproute2 套件的一部分,内核级支持,响应快、信息全。查看某端口(比如 8080)是否被占用:
LISTEN 0 128 *:8080 *:* users:(("nginx",pid=1234,fd=6)),说明 nginx 进程(PID 1234)占用了 8080netstat 属于 net-tools 包,部分新发行版默认不安装(如 Ubuntu 22.04+、CentOS 8+),需手动装:sudo apt install net-tools 或 sudo yum install net-tools。
tcp6 0 0 :::3306 :::* LISTEN 1234/mysqld,其中 1234 是 PID,mysqld 是进程名拿到占用端口的进程 PID(比如 1234),可进一步确认或处理:
sudo apt install lsof),输出更直观-p 参数会看不到进程名,直接报错或空白 —— 记得加 sudo
docker-proxy 或 systemd 占用端口,需结合 docker ps 或 systemctl list-sockets 追踪ss -tuln 默认都包含,不用额外加参数ss -tan state time-wait | grep :8080 检查基本上就这些。ss 是当前首选,netstat 用于过渡或排查老环境;关键是加 -p 看进程、用 sudo 提权、结合 ps 或 lsof 交叉验证。不复杂但容易忽略权限和协议细节。
以上就是Linux如何查看端口占用_netstat与ss命令定位占用来源实战讲解【教程】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号