我需要通过 python 脚本从 sentinel2 下载一些卫星图像。我已经在本地对少量文件进行了测试,并且脚本可以正常工作。现在我应该在 ssh 会话上运行这个脚本。我的问题是,即使我关闭了 ssh 连接,如何让脚本继续运行(下载)?在后台启动脚本是否足够 ( python3 main.py &) ?
像这样的工作有很多工具:例如检查这个线程。
你可以从screen.
screen
$ screen # initiates a screen session
在屏幕会话中,执行以下操作:
$ python my_scripts.py
Ctrl-A当脚本运行时,您可以使用+与屏幕会话分离D。
Ctrl-A
D
该脚本将在“后台”运行,您可以离开当前的 ssh 会话。
对于批量下载,您可以拍摄多个屏幕会话。您可以在启动会话时为每个屏幕指定一个名称。通过这种方式,您可以运行多个脚本,每个会话中一个。
要检查打开的会话:
$ screen -ls There are screens on: 96185.pts-5.xxxxx-xxxx-xxx-xx (2022年07月01日 17时39分06秒) (Detached) 95231.pts-5.xxxxx-xxxx-xxx-xx (2022年07月01日 17时20分40秒) (Detached)
并重新附加到特定会话:
$ screen -r 96185
但在您执行所有这些操作之前,您可能需要检查是否有足够的资源(磁盘空间、带宽等)。