即使关闭了CLI会话,也继续在AWS EC2上运行python脚本

usd*_*777 5 python ssh amazon-ec2 amazon-web-services

所以我有一个脚本在我的AWS EC2实例(Ubuntu)上运行(脚本在实例内部),该脚本应该每隔几个小时将一些基准测试结果写入txt文件中(也包含在实例本身中)...现在我已经运行了与终端和ssh的会话,但是如果我关闭终端或关闭计算机,脚本显然会崩溃。我什至尝试过:“ nohup myscript.py&”,但没有成功。

真的很感谢这里的帮助

RRC*_*RRC 7

如上文所述,在您的Amazon ec2实例上启动一个tmux窗口:

tmux new -s mywindow
Run Code Online (Sandbox Code Playgroud)

新窗口启动后,运行脚本。脚本运行后,您可以关闭ssh客户端或关闭本地计算机。如果要查看结果,请再次通过ssh登录到ec2,然后键入以下内容:

tmux a -t mywindow
Run Code Online (Sandbox Code Playgroud)

这将带您回到运行脚本的原始窗口。


run*_*g.t 6

在我看来,最简单的方法是安装现有的终端多路复用器之一,如screentmux,并在该多路复用器中运行您的脚本。这将允许您的脚本即使在与 shell 会话断开连接后也能运行。

请记住,关闭 AWS EC2 机器也会终止 screen/tmux 会话,并且您的脚本在再次启动该机器后不会恢复。但是,在从远程机器上的 screen/tmux 会话分离后,您可以安全地关闭或重新启动本地计算机,在几小时或几天甚至几年后重新连接,并且您的脚本的远程会话应该仍然存在(只要 AWS EC2 机器不是) t 重新启动或您的屏幕/tmux 会话没有手动关闭,例如管理员)。