使python脚本在Amazon EC2上永久运行

时间:2014-04-19 05:16:08

标签: python amazon-web-services ssh amazon-ec2

我有一个基本上永远运行的python脚本,每秒检查一个网页,如果有任何值发生变化,通知我。我将它放在AWS EC2实例上并通过ssh运行它。我启动它后半小时左右检查后脚本运行正常。

问题是,在我再次检查几个小时后,ssh已关闭。当我重新登录时,没有程序在运行。我检查了所有正在运行的进程,但没有运行。

任何人都可以教我如何让它在AWS EC2实例上永远运行(或直到我停止运行)?非常感谢。


编辑:我使用AWS提供的Java SSH客户端来运行脚本

2 个答案:

答案 0 :(得分:11)

您可以使用nohup命令运行程序,这样即使SSH会话关闭,程序也会继续运行。

例如:nohup python yourscriptname.py &

有关详细信息,您可以查看其手册页 man nohup

答案 1 :(得分:8)

您可以使用Linux screen。Linux屏幕工具不仅可以避免断线灾难,还可以通过在一个SSH会话中使用多个窗口来提高您的工作效率。 要安装:

sudo apt-get install screen

开始新会话:

screen -S <screen_name>

在屏幕会话中运行您的流程。如果要返回主终端,请按快捷键ctrl+a+d。并且还可以通过键入来查看屏幕,

screen -r <screen_name>