端口 12345 已经被占用的解决方案

现在报错 ERROR: [Errno 98] … address already in use,意思是 端口 12345 已经被占用了。

这通常是因为你之前的某次尝试(Docker 或者上一次运行的 python 进程)没有没有彻底关闭,它还在后台悄悄运行,占着位置。

请按以下步骤清理端口:

方法一:最快解决(一条命令清理)

直接使用 fuser 命令查找并杀死占用该端口的进程:

sudo fuser -k 12345/tcp
(如果提示 fuser command not found,请运行 sudo apt install psmisc 安装)

执行完上面这行后,再次运行 python main.py 即可。

方法二:手动查找并杀掉进程(如果方法一无效)

查看是谁占用了端口

sudo lsof -i :12345

你会看到类似这样的输出:

Plaintext

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python3 1234 root    3u  IPv4  ...      0t0  TCP *:12345 (LISTEN)

注意中间那个 PID (比如上面的 1234)。

强制结束该进程 把下面的 1234 换成你刚才看到的 PID 数字:

kill -9 1234

方法三:检查是否 Docker 在运行(重要)
既然你之前尝试过 Docker 部署,很可能是 Docker 容器还在运行并且占用了端口。

查看运行中的容器

sudo docker ps

如果有容器在运行,停止它

# 停止所有容器(简单粗暴)
sudo docker stop $(sudo docker ps -q)

最后一步:再次启动
清理完端口后,再次运行:

python main.py

这次应该就能看到它稳定运行,并且你可以通过浏览器访问 http://你的IP:12345 了!

Licensed under CC BY-NC-SA 4.0
热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计