【问题标题】:How to continuously run a Python script on an EC2 server?如何在 EC2 服务器上连续运行 Python 脚本?
【发布时间】:2011-09-08 02:54:44
【问题描述】:

我已经设置了一个 Amazon EC2 服务器。我有一个 Python 脚本,它应该将大量数据从网络下载到服务器上。我可以从终端通过ssh 运行脚本,但是我经常失去ssh 连接。当我断开连接时,脚本停止。

有没有一种方法可以让脚本从终端运行,当我断开连接时,脚本仍在服务器上运行?

【问题讨论】:

    标签: python amazon-ec2


    【解决方案1】:

    您还可以使用nohup 使您的脚本在后台运行或在您与会话断开连接时运行:

    nohup script.py &

    命令末尾的& 明确告诉nohup 在后台运行您的脚本。

    【讨论】:

      【解决方案2】:

      你有几个选择。

      • 您可以将脚本添加到cron 以定期运行。
      • 您可以手动运行脚本,并使用nohup 将其分离+背景。
      • 您可以运行诸如 GNU Screen 之类的工具,然后分离您的终端并注销,然后再从您离开的地方继续。我经常使用这个。
        • 例如:
          1. 登录你的机器,运行:screen
          2. 启动您的脚本,然后关闭您的终端或使用以下命令正确分离会话:Ctrl+A、D、D。
          3. 与您的终端断开连接。
          4. 稍后重新连接,然后运行screen -rD。您应该可以看到您离开时的东西。
      • 您还可以将脚本添加到/etc/rc.d/,以便在书上调用并始终运行。

      【讨论】:

      • 感谢screen提供的信息。
      【解决方案3】:

      如果它只是一个您运行 ad-hoc 的实用程序,而不是某种服务守护进程,我会在 screen 中运行它。如果您愿意,您可以断开连接并稍后打开终端备份......或者如果您断开连接,请重新连接终端。它应该在您的 linux 发行版包管理器中。只需搜索screen

      http://www.gnu.org/software/screen/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-18
        • 2015-02-05
        • 2015-04-11
        • 2017-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多