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

Google Colab运行bash脚本时,关闭Chrome标签或电脑后如何维持运行?

嘿,刚用Colab的时候我也被这个问题坑过!长时间跑的脚本一关浏览器就中断,太闹心了。给你几个实用的解决办法,从免费方案到进阶玩法都有:

方法一:用nohup后台运行(免费用户首选)

别直接跑!sh my_script.sh,改成下面的命令:

!nohup sh my_script.sh > /content/drive/MyDrive/your_project/output.log 2>&1 &

这里几个参数的作用:

  • nohup 能让进程忽略挂断信号,就算当前Colab会话断开,只要运行时还没被回收,脚本会继续跑
  • > ...output.log 2>&1 把脚本的所有输出(包括错误信息)都存到你Drive里的日志文件里,这样就算运行时没了,结果也能在Drive找到
  • & 让脚本在后台运行,你还能继续在Notebook里做别的

之后你可以用!tail -f /content/drive/MyDrive/your_project/output.log实时看进度,关了标签页也没关系,几个小时后回来直接看这个日志文件就行。

⚠️ 注意:免费Colab的运行时最多持续12小时,而且如果资源紧张可能会提前被回收,所以这个方法适合12小时以内的任务。

方法二:升级Colab Pro/Pro+(稳定省心)

如果你的任务经常超过12小时,或者需要更稳定的运行环境,花点钱升级到Colab Pro/Pro+绝对值得:

  • Pro版最长能连续跑24小时,Pro+甚至能到48小时
  • 优先分配GPU/CPU资源,不容易被系统回收
  • 支持「永久会话」,关闭浏览器后运行时会继续保持,回来直接就能接上次的进度

升级后正常运行脚本就行,完全不用操心关标签的问题。

方法三:用tmux保持会话(进阶玩家选项)

如果你熟悉Linux终端操作,可以用tmux创建一个持久化的会话,这样就算Colab临时断开,重新连接后还能回到脚本运行的状态:

# 先安装tmux
!apt-get install tmux -y
# 创建一个名为my_task的会话
!tmux new -s my_task

之后在tmux窗口里输入sh my_script.sh开始运行,按Ctrl+B然后松开按D就能脱离会话。等你回来后,用!tmux attach -t my_task就能重新回到之前的会话,查看脚本的运行状态。

不过这个方法对新手有点门槛,而且免费运行时的12小时限制还是存在。

最后再强调一遍:一定要把结果文件存到Google Drive里,别存到Colab的临时目录/content下,不然运行时回收后文件就没了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:16:15