如何查看某个端口是否已被占用?
美国、香港服务器
如何查看某个端口是否已被占用?
08-08 来源:
在不同操作系统中,查看某个端口是否被占用的方法略有不同,以下是常见系统的具体操作:
一、Linux 系统(包括 CentOS、Ubuntu 等)
使用 netstat、ss 或 lsof 命令,以查看 8080 端口 为例:
1. ss 命令(推荐,更高效)
bash
# 查看TCP端口是否被占用
ss -tuln | grep 8080
# 查看UDP端口是否被占用
ss -uln | grep 8080
选项说明:-t(TCP)、-u(UDP)、-l(监听中)、-n(显示端口号,不解析服务名)。
若输出包含 LISTEN,表示端口已被占用,同时会显示占用端口的进程信息(如本地地址 *:8080)。
2. netstat 命令(传统方法,部分系统需安装)
bash
# 查看所有端口占用,过滤8080
netstat -tuln | grep 8080
若提示 command not found,需先安装:
CentOS:sudo dnf install net-tools
Ubuntu:sudo apt install net-tools
3. lsof 命令(可查看占用端口的进程名和 PID)
bash
# 查看占用8080端口的进程(需root权限)
sudo lsof -i :8080
输出会显示进程 ID(PID)、进程名(COMMAND)等,例如:
java 1234 root 45u IPv6 12345 0t0 TCP *:8080 (LISTEN)
表示 8080 端口被 PID 为 1234 的 Java 进程占用。
二、Windows 系统
使用 netstat 或 PowerShell 命令,以查看 8080 端口 为例:
1. 命令提示符(CMD)或 PowerShell
powershell
# 查看所有端口占用,过滤8080(包含进程ID)
netstat -ano | findstr :8080
输出说明:最后一列数字为进程 ID(PID),例如:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
表示 8080 端口被 PID 为 1234 的进程占用。
2. 查看进程名称(根据 PID)
若需知道具体是哪个程序占用端口,可结合 PID 查询:
powershell
# 替换1234为实际PID
tasklist | findstr 1234
输出会显示进程名称,例如:java.exe。
三、macOS 系统
与 Linux 类似,可使用 lsof 或 netstat 命令:
1. lsof 命令(推荐)
bash
# 查看8080端口占用情况
sudo lsof -i :8080
2. netstat 命令
bash
netstat -tuln | grep 8080
总结:核心命令
系统 查看端口占用的命令(以 8080 为例) 备注
Linux `ss -tuln grep 8080或sudo lsof -i :8080` lsof 可查看进程信息
Windows `netstat -ano findstr :8080` 需结合 PID 查进程名称
macOS sudo lsof -i :8080 同 Linux 操作
通过以上命令,可快速判断某个端口是否被占用及被哪个进程占用,方便排查端口冲突问题(如启动服务时提示 “端口已被使用”)。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快