在 Ubuntu 系统中,查看占用端口可以使用以下几种方法:
netstat
命令netstat
是一个网络统计工具,可以显示网络连接、路由表、接口统计等。
sudo netstat -tuln
-t
表示显示 TCP 连接。-u
表示显示 UDP 连接。-l
表示仅显示监听套接字。-n
表示以数字形式显示地址和端口号。ss
命令ss
是 netstat
的替代品,功能更强大且速度更快。
sudo ss -tuln
参数含义与 netstat
类似。
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i :端口号
例如,查看占用 80 端口的进程:
sudo lsof -i :80
fuser
命令fuser
可以显示使用指定文件或文件系统的进程。
sudo fuser 端口号/tcp
例如,查看占用 80 端口的进程:
sudo fuser 80/tcp
如果你在执行上述命令时遇到权限不足的问题,可以在命令前加上 sudo
提升权限。
如果系统中没有安装 netstat
或 ss
,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install net-tools # 安装 netstat
sudo apt-get install iproute2 # 安装 ss
如果发现某个进程占用了你需要的端口,并且尝试终止该进程失败,可以使用以下命令强制终止:
sudo kill -9 进程ID
假设你想查看占用 3000 端口的进程:
sudo lsof -i :3000
输出可能如下:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 1234 user 23u IPv6 12345 0t0 TCP *:3000 (LISTEN)
这表明进程 ID 为 1234 的 node
进程正在监听 3000 端口。
通过这些方法,你可以有效地查看和管理 Ubuntu 系统中的端口占用情况。
领取专属 10元无门槛券
手把手带您无忧上云