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

Google Cloud Shell SSH环境下Python长耗时脚本后台运行及查看方法咨询

我来给你几个实用的方案,解决Google Cloud SSH关闭后进程终止的问题,都是日常运维常用的方法,你可以根据需求选:

方法1:用nohup让进程后台运行(最简单上手)

这个方法适合不需要后续交互、只需要记录输出的场景,操作非常直接:

  • 运行你的Python脚本时,用这条命令:
    nohup python3 mycode.py > output.log 2>&1 &
    
    解释下每个部分的作用:
    • nohup:让进程脱离当前终端的控制,即使SSH断开也能继续运行
    • > output.log:把脚本的正常输出(比如你打印的迭代结果)写入到output.log文件里
    • 2>&1:把错误输出也同步到这个日志文件里,方便排查问题
    • &:让进程在后台运行,你可以继续在当前Shell执行其他命令
  • 现在你直接关闭SSH Shell就行,脚本会一直在后台跑
  • 后续重新连接SSH后,查看进度的方式:
    • 查看完整日志:cat output.log
    • 实时跟踪最新输出(像实时看打印结果):tail -f output.log
  • 如果需要终止进程,先找到进程ID(PID):
    ps aux | grep "python3 mycode.py"
    
    然后用kill <PID>(把<PID>换成你找到的数字)终止它
方法2:用screen保留会话(适合需要回到交互场景)

screen是一个会话管理工具,可以保存你的Shell会话状态,即使断开SSH,后续还能回到原来的会话继续查看输出:

  • 先确认screen是否安装(Google Cloud Shell一般自带,如果没有就装):
    sudo apt update && sudo apt install screen
    
  • 创建一个命名的会话(方便后续找到它):
    screen -S my_training_session
    
  • 在这个新会话里,正常运行你的脚本:
    python3 mycode.py
    
  • 现在你需要脱离这个会话,按快捷键Ctrl+A,然后松开再按D,就能回到原来的Shell界面,此时可以安全关闭SSH了
  • 后续重新连接SSH后,恢复会话:
    screen -r my_training_session
    
    这样就能回到之前的会话,看到脚本实时的打印结果
  • 如果要结束这个会话,在会话里输入exit或者按Ctrl+D即可
方法3:用tmux(功能更丰富的会话管理工具)

tmux是screen的升级版,功能更强大,支持分屏、会话共享等,操作和screen类似:

  • 安装tmux(如果没装的话):
    sudo apt update && sudo apt install tmux
    
  • 创建命名会话:
    tmux new -s my_training_session
    
  • 在会话里运行python3 mycode.py
  • 脱离会话:按快捷键Ctrl+B,然后松开按D,之后关闭SSH就行
  • 后续恢复会话:
    tmux attach -t my_training_session
    
  • 结束会话的话,在会话里输入exit,或者用命令tmux kill-session -t my_training_session

小建议

  • 如果只是单纯跑脚本、记录输出,nohup足够用,最省心
  • 如果需要后续回到现场看实时输出、甚至中途调整脚本(比如暂停/继续),选screen或tmux更合适

内容的提问来源于stack exchange,提问作者joydip134

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:04:29