【实践经验】端口被占用问题:listen tcp:bind:only one usage of each socket address
文章目录
- 一. 问题描述
- 二. 分析
- 1. 适用错误
- 三. 解决方法
- 1. 打开控制台
- 2. 查看端口的使用情况
- 2.1 不知道端口号——查看所有运行的端口
- 2.2 知道端口号
- 3. 查看使用进程的程序
- 4. 杀死进程
- 5. 验证端口是否释放
一. 问题描述
goland启动项目后报错:“listen tcp:bind:only one usage of each socket address…”
二. 分析
经过搜索,确定是端口被占用,所以确定解决方法是查看端口是被什么程序占用了,是否可以需要杀死占用的程序还是更换端口。
1. 适用错误
listen tcp:bind:only one usage of each socket address....
failed to start http: listen tcp 0.0.0.0:5244: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
三. 解决方法
1. 打开控制台
Win + R
输入cmd,打开控制台
2. 查看端口的使用情况
2.1 不知道端口号——查看所有运行的端口
netstat -ano
2.2 知道端口号
netstat -ano|findstr “端口号”
即4301端口被进程9840占用
3. 查看使用进程的程序
tasklist|findstr “进程号”
因为我的进程号9840显示没有程序,所以换个进程号1428进行演示
可知,进程号1428是运行的svchost程序,说明之前运行的程序没有被杀死,继续占用端口。导致再运行项目的时候,显示端口被占用。
4. 杀死进程
taskkill /T /F /PID 进程号
taskkill /T /F /PID 1428
5. 验证端口是否释放
netstat -ano|findstr "端口号"
查看是否还有程序占用