You need to enable JavaScript to run this app. 如何停止Kubernetes Pod随启Python脚本及解决输出查看、端口占用问题
优惠活动
大模型
产品
解决方案
定价
更多

如何停止Kubernetes Pod随启Python脚本及解决输出查看、端口占用问题

问题解答

问题1:实时查看运行脚本输出的方法

不需要仅通过logs命令静态查看输出,使用kubectl logs的follow参数即可实现类似本地终端运行的实时输出效果,命令如下:

kubectl logs -f <你的Pod名称>

如果Pod内运行了多个容器,需要额外指定容器名:

kubectl logs -f <你的Pod名称> -c <你的容器名称>

该命令会持续追踪容器内进程打印到stdout、stderr的所有内容,和本地运行脚本的实时输出效果一致。

问题2:停止自动启动的main.py并手动运行的方法

你遇到的OSError: [Errno 98] Address already in use报错是因为Pod启动时自动运行的main.py已经启动了Flask服务,占用了对应的监听端口,重复启动就会触发端口冲突,按以下步骤操作即可:

  • 第一步:exec进入容器内部
    kubectl exec -it <你的Pod名称> -- /bin/bash
    
    若容器内没有安装bash,替换为/bin/sh即可
  • 第二步:查找正在运行的main.py进程ID
    执行命令:
    ps aux | grep main.py | grep -v grep
    
    命令返回结果的第二列即为对应进程的PID
  • 第三步:终止该进程
    执行命令:
    kill <上一步查到的PID>
    
    如果进程无响应无法正常终止,可使用强制终止命令:
    kill -9 <上一步查到的PID>
    
  • 第四步:手动运行main.py
    进程终止后原有端口会被释放,此时直接执行python3 ./main.py即可正常启动。

注意:上述操作是临时生效的,若Pod发生重启,系统还是会按照Dockerfile中定义的CMD自动启动main.py,若需要长期修改启动逻辑,需要调整Pod的command配置或者更新Dockerfile的CMD指令。

内容的提问来源于stack exchange,提问作者Naga sai Kiran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 06:36:05