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

SSH断连后如何保持Sentinel2影像下载Python脚本持续运行

结论

仅执行python3 main.py &将脚本置于后台启动无法满足关闭SSH后脚本持续运行的需求。
该命令仅会把Python进程放到当前SSH会话绑定的Shell后台执行,当SSH连接断开时,系统会向当前Shell关联的所有子进程发送SIGHUP挂断信号,默认配置下进程收到该信号会直接终止,你的批量下载任务会中途中断。

可用实现方案

你可以根据自己的使用习惯选以下任意一种方案:

  • 轻量化方案:使用nohup启动
    直接执行命令:
    nohup python3 main.py > sentinel2_download.log 2>&1 &
    
    命令说明:
    • nohup的作用是让启动的进程忽略SIGHUP信号,和当前SSH会话解绑,断开连接也不会被终止
    • > sentinel2_download.log是把脚本的正常输出写入指定日志文件,方便后续回溯下载进度
    • 2>&1是把脚本的报错信息也合并写入同一个日志文件,出问题可以直接查日志定位
    • 末尾的&是让进程在后台运行,执行完命令会返回进程PID,你可以后续用ps aux | grep main.py检查进程运行状态,需要终止任务时执行kill 对应PID即可。
  • 可随时回查实时输出方案:使用终端复用工具
    如果你后续需要随时切回脚本运行界面看实时输出,优先用tmux:
    1. SSH登录服务器后直接执行tmux,会进入一个独立于SSH会话的虚拟终端
    2. 在这个虚拟终端里正常执行python3 main.py启动下载脚本
    3. 需要断开SSH时,按快捷键Ctrl+B后松开再按D,即可将当前tmux会话挂起后台运行,此时直接关闭SSH窗口不会影响脚本
    4. 下次重新SSH连接服务器后,执行tmux attach就能直接回到之前的运行界面,看到脚本的实时输出。
      如果服务器没有预装tmux,Debian/Ubuntu系统执行apt install tmux、CentOS/RHEL系统执行yum install tmux即可完成安装。
  • 长期托管方案:配置systemd服务
    如果你不仅需要关SSH不中断任务,还希望服务器重启后脚本可以自动启动继续下载,可以写一个简单的systemd服务配置托管脚本,临时跑批量下载任务的话前两种方案完全够用。

注意:Sentinel2单景影像体积较大,建议提前确认脚本本身支持断点续传、下载进度记录逻辑,避免遇到网络波动、服务器意外重启等情况时需要从头重新下载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:51:17