2014-04-19 52 views
6

我有一个基本上永远运行的python脚本,每秒钟检查一个网页,并通知我是否有值更改。我将它放在AWS EC2实例上并通过ssh运行。在开始后半小时左右,我检查了脚本运行正常。使python脚本永久运行在亚马逊EC2

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

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


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

回答

6

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

sudo apt-get install screen 

启动一个新的会话:当你在屏幕会话中运行它

screen -S <screen_name> 

运行您的程序。如果您想要回到主终端,请按快捷键ctrl+a+d。并且还通过键入来查看屏幕,

screen -r <screen_name> 
+1

像魔术一样工作。谢谢! –

6

您可以运行使用nohup命令的程序,因此,即使在SSH会话关闭程序继续运行。

如:nohup python yourscriptname.py &

欲了解更多信息,您可以检查手册页它使用 man nohup的。