即使关闭本地机器,如何在 AWS EC2 上运行进程?

Joh*_*ene 5 python crontab amazon-ec2 amazon-web-services

我有一个大约需要 10-15 个小时才能完成的脚本。我想在 EC2 实例上运行它,然后说 10 小时后永远停止该过程。

方法--

CRONTAB- 如果我为这个过程做一个 cronjob 。如何确保它一生只运行一次并在 10 小时后删除?

Ind*_*pta 13

您需要打开一个屏幕会话。您可以通过screen在 bash 提示符中键入来执行此操作。在您的命令中触发后,键入Ctrl-a后跟d. 这将分离您的屏幕会话。但是,您运行的脚本将继续运行。

现在,您可以断开与 ssh 会话的连接。重新登录后,您可以resume通过键入 来进行会话screen -r。这是假设您只有一个detached会话。如果您有多个,则必须输入要附加回的会话的 pid。

要检查pid会话,您可以执行以下操作:

ps aux | grep screen

这将列出当前正在运行的屏幕进程。示例输出是:

dhanush          1327   0.0  0.0  2443312     56 s000  S+    3Sep15   0:00.99 screen -r server -p server
dhanush         79037   0.0  0.0  2432784    600 s008  S+    5:03PM   0:00.00 grep screen
Run Code Online (Sandbox Code Playgroud)

这里的pid相关屏幕过程是1327。第二行属于grep搜索关键字screen本身的命令。

tmux是另一种选择。