在Linux系统中,查看服务端口占用情况是一个常见的需求,通常可以通过以下几种方法来实现:
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
假设你想查看80端口被哪个进程占用:
使用 netstat
:
sudo netstat -tuln | grep :80
使用 ss
:
sudo ss -tuln | grep :80
使用 lsof
:
sudo lsof -i :80
如果你在执行上述命令时遇到“Permission denied”错误,需要使用 sudo
提升权限。
如果提示命令不存在,可能是系统未安装相应的工具。可以通过包管理器安装,例如在Debian/Ubuntu系统上:
sudo apt-get update
sudo apt-get install net-tools # 安装netstat
sudo apt-get install iproute2 # 安装ss
sudo apt-get install lsof # 安装lsof
如果发现某个端口被占用且对应的进程无法正常关闭,可以使用以下命令强制结束进程:
sudo kill -9 进程ID
首先通过 lsof
或 netstat
找到进程ID,然后执行上述命令。
通过以上方法,你可以有效地查看和管理Linux系统中的端口占用情况。
领取专属 10元无门槛券
手把手带您无忧上云