查看端口占用

知识要点

lsof -i:port

netstat -anp | grep port

问题描述

我们有时会在服务启动的时候遇到端口被占用的情况,比如我下面在启动 BERT Server 端的时候,报了 ERROR:"Address already in use",这种状况的话,服务端启动就会失败结束

ERROR:Address already in use

解决方案

首先我们查阅服务启动时使用的端口,如图服务启动配置所示

服务启动配置

那么现在让我们来查看一下所有端口的使用情况,方式是命令:lsof -i

查看所有端口的使用情况

我们通过端口信息看到 5555 端口正在监听状态,但是该端口正是我们服务启动的端口,所以不出意外的导致占用情况

当然端口使用的列表可能会很长,找出来就会很麻烦,所以我们也可以更加直接的使用 lsof -i:5555 来查询 5555 端口的使用情况,如下图所示

端口 5555 的使用情况

把查询到被占用端口相对应的进程 kill 掉就好了,这个占用是由于刚才网络不稳定,ssh 断线导致的异常占用

处理掉这些进程以后,重启 BERT 服务端就可以了。我们看到 BERT Server 端成功启动,如下所示

BERT 服务端成功启动

另外还有一种查询方式是 netstat -anp | grep 5555,我们正好用来看一下服务端启动后的端口占用

当然这个 lsof -i:5555 查询的结果是相同的

BERT 服务端成功启动后的端口占用情况

你可能感兴趣的:(查看端口占用)