当我的EC2实例开始安装软件包,提取代码然后启动长时间运行的任务时,我会使用我的cloud-init启动脚本,该任务可能会运行几天:
su - username -c 'python /path/script.py'
如果脚本在此行停留数天,这是cloud-init的问题吗? 如果是这样,在允许cloud-init脚本结束的同时让脚本运行的最佳方法是什么?
答案 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脚本。