【问题标题】:How to run script on Amazon EC2 without keeping an ssh pipe open?如何在不打开 ssh 管道的情况下在 Amazon EC2 上运行脚本?
【发布时间】:2014-09-27 03:11:25
【问题描述】:

我构建了一个脚本,用于将历史数据记录到 Amazon Redshift 实例中。该脚本可能需要运行很长时间,可能需要超过 24 小时才能运行完成。

我尝试通过 ssh 连接到我的 EC2 实例并从那里运行脚本,但是几个小时后我离开笔记本电脑或关上盖子并且管道损坏,在脚本运行完成之前停止脚本。

如何让脚本在我的 EC2 上运行,而不必担心它会过早停止执行?

【问题讨论】:

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


    【解决方案1】:
    nohup yourshellcommandhere  &
    

    将在后台运行,不需要您激活交互式 ssh 会话。

    【讨论】:

    • 出于好奇,&符号是什么意思?
    • @johncorser - 命令的 & 背景。如果您希望能够返回并查看控制台输出,则可以执行此操作的另一种方法是在 screen 会话中运行它。 screen 包几乎在任何 Linux 发行版中都可用。
    【解决方案2】:

    就像提到的@johncorser,使用Screen

    您可以稍后注销并重新连接屏幕。 yum install screenapt-get install screen

    然后只需输入screen。 它会给你一个“虚拟”外壳,你可以“分离”它。

    尝试: screen sleep 999 CTRL-a then d

    您可以注销并重新登录,然后执行screen -r 以重新连接虚拟终端。

    大多数屏幕热键以CTRL-a(小写a)开头,然后是一些字母。 如果您只是要学习一个,请学习CTRL-a, ?,它会显示帮助屏幕并列出其他键。

    另一个非常有用的热键:

    CTRL-a, c:创建另一个虚拟终端

    CTRL-a, n:循环浏览所有虚拟终端

    记住CTRL-a, ?,然后全部尝试:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-20
      • 2019-03-27
      • 2015-09-25
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      相关资源
      最近更新 更多