0

当我的 EC2 实例开始安装包、拉取代码然后启动一个长时间运行的任务时,我会使用我的 cloud-init 启动脚本,该任务可能会运行数天:

su - username -c 'python /path/script.py'

如果脚本在此行停留数天,这是否是 cloud-init 的问题?如果是这样,在允许 cloud-init 脚本结束的同时让脚本运行的最佳方法是什么?

4

2 回答 2

1

在允许 cloud-init 脚本结束的同时让脚本运行的最佳方法是什么?

我会使用'at'命令,例如

echo "python /path/script.py"|at now +3 minutes

该脚本将在该命令后 3 分钟内运行,并且 cloud-init 脚本将继续运行,无需等待 script.py。

可能有问题su,所以从根目录运行脚本会更简单,当然如果可以接受的话。

于 2016-07-03T10:33:10.007 回答
0

事实证明,让 cloud-init 脚本运行数小时不是问题。AWS 似乎没有适当的机制来杀死几个小时后没有终止的 cloud-init 脚本。

于 2016-09-06T20:40:14.553 回答