使用EC2 cloud-init启动脚本启动长时间运行的任务

时间:2016-07-03 10:00:28

标签: amazon-web-services amazon-ec2 cloud-init

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

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

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

2 个答案:

答案 0 :(得分:0)

  

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

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

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

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

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

答案 1 :(得分:0)

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