即使在关闭本地计算机后,如何在 AWS EC2 上创建进程 运行?

How to make a process run on AWS EC2 even after closing the local machine?

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

方法--

CRONTAB - 如果我为进程创建一个 cronjob。如何保证运行一生只用一次,10小时后删除?

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

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

要查看会话的pid,您可以这样做:

ps aux | grep screen

这将列出当前 运行ning 屏幕进程。示例输出为:

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

此处相关屏幕进程的pid1327。 第二行属于搜索关键字screen本身的grep命令。

tmux 是另一种选择。