终止远程会话后,Tornado立即停止在AWS上运行

时间:2012-09-02 18:23:28

标签: ssh amazon-web-services tornado

我正在使用SSH在Amazon Web Service上远程启动Tornado。当我通过以下方式启动它时它工作正常:

python startTornado.py

但是,在我的SSH会话超时或终止后,Tornado服务器也会立即停止,因此我无法再访问该网页。我做了很多搜索,但在Google上找不到答案。

在SSH会话终止后,如何让Tornado和网站保持运行?

3 个答案:

答案 0 :(得分:4)

如果它在前台运行,或者如果它尝试写入stdout并且它输出的终端不再存在,则当你注销时,该过程将关闭。尝试使用

启动服务器
nohup python startTornado.py &

nohup命令将输出重定向到文件,&最后在后台运行命令。或者,您可以使用屏幕实用程序,它允许您分离终端并在不同的ssh会话中重新连接它(有关详细信息,请参阅屏幕手册页)。

答案 1 :(得分:3)

虽然上述所有解决方案都解决了当前的问题,但您可能真正需要在生产中运行此类流程,控制它们(启动/重启/停止)是supervisor。它是基于python的,当你必须在nginx后面运行龙卷风的多个实例时它会更有用。

答案 2 :(得分:1)

除了Kevin提到的nohup之外,如果您使用bash,还可以使用disown命令:

disown <job-id>