You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH服务器创建Screen运行Python电报机器人脚本时提示[screen is terminating]无法创建新会话的解决方法

SSH服务器创建Screen运行Python电报机器人脚本时提示[screen is terminating]无法创建新会话的解决方法

遇到这种情况别慌,我帮你梳理几个常见的排查和解决步骤:

1. 清理残留的Screen会话/进程

有时候你用screen -X -S screenname quit关闭会话时,可能因为进程异常导致会话没有彻底终止,残留的无效会话会干扰新会话的创建:

  • 先查看所有Screen会话状态:
    screen -list
    
    如果看到标记为Dead的会话,直接用下面的命令清理掉这些无效条目:
    screen -wipe
    
  • 如果还有顽固的残留进程,用ps命令找到对应的PID并强制终止:
    ps aux | grep screen
    # 找到对应screen进程的PID,然后执行
    kill -9 你的进程PID
    

2. 检查Python脚本本身是否会立即退出

你之前用screen -S screenname python3 ScriptName.py创建会话时,如果脚本因为错误(比如依赖缺失、API密钥错误、网络问题)启动后立刻崩溃退出,Screen会话也会跟着终止,就会出现[screen is terminating]的提示:

  • 先在当前终端单独运行脚本,确认脚本能正常启动:
    python3 ScriptName.py
    
    看看有没有报错信息,把脚本本身的问题解决掉(比如安装缺失的依赖包pip3 install xxx,检查Telegram Bot Token是否正确等)
  • 如果脚本没问题,建议先创建空的Screen会话,再手动运行脚本:
    screen -S screenname
    # 进入Screen会话后,再输入运行脚本的命令
    python3 ScriptName.py
    
    这样就算脚本运行中出问题,Screen会话也不会直接关闭,你可以在会话里查看详细错误日志。

3. 验证权限与环境变量问题

有时候SSH登录的用户权限变化,或者Screen会话内的环境变量和终端不一致,会导致脚本无法正常运行:

  • 尝试使用Python解释器的绝对路径运行脚本,避免PATH配置问题:
    # 先查看Python3的绝对路径
    which python3
    # 比如得到/usr/bin/python3,然后用这个路径运行
    screen -S screenname /usr/bin/python3 ScriptName.py
    
  • 检查当前用户对脚本文件和相关目录的读写权限,确保有足够权限运行脚本:
    ls -l ScriptName.py
    

4. 排查Screen配置文件问题

如果以上方法都没用,可能是用户目录下的Screen配置文件~/.screenrc损坏或配置异常:

  • 临时重命名配置文件,让Screen使用默认配置:
    mv ~/.screenrc ~/.screenrc.bak
    
    然后再尝试创建新的Screen会话,看看是否能正常创建。

备注:内容来源于stack exchange,提问作者childoflogos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:05:32