Bash 使用nohup在EC2用户数据中执行的脚本不';在手动关闭之前,请不要运行

Bash 使用nohup在EC2用户数据中执行的脚本不';在手动关闭之前,请不要运行,bash,amazon-ec2,user-data,Bash,Amazon Ec2,User Data,我的EC2用户数据中有以下命令: setsid nohup /root/go/src/prometheus-to-cloudwatch-master/dist/bin/prometheus-to-cloudwatch --cloudwatch_namespace TestBox/Prometheus --cloudwatch_region eu-west-1 --cloudwatch_publish_timeout 5 --prometheus_scrape_interval 30 --prom

我的EC2用户数据中有以下命令:

setsid nohup /root/go/src/prometheus-to-cloudwatch-master/dist/bin/prometheus-to-cloudwatch --cloudwatch_namespace TestBox/Prometheus --cloudwatch_region eu-west-1 --cloudwatch_publish_timeout 5 --prometheus_scrape_interval 30 --prometheus_scrape_url MyScrapeUrl &
此脚本将获取在
prometheus_scrape_url
上发布的指标,并将其推送到CloudWatch。默认情况下,此脚本在前台运行,每30秒将输出推送到CloudWatch的度量数。我添加了
setsid nohup
以在新会话的后台运行脚本

这里的问题是,在初始化之后,我将SSH放入框中,并将
su
发送给根用户之前,脚本似乎不会运行(就像在我下一次以根用户身份SSH时,它会排队运行一样)

我的预期行为是,脚本作为用户数据的一部分运行,并且我不需要SSH到该框中


问题的脚本是:

我不确定我是否正确理解了您的要求。(我不熟悉EC2用户数据。)但据我猜测,您希望定期运行一些东西。你认为它运行为<代码> CRON/COD>作业吗?(你可以通过谷歌找到很多关于如何使用
cron
)anishsane谢谢你的回复,不,我不想定期运行一些东西,我想在AWS EC2实例的第一次启动时运行一个脚本,我看到了奇怪的行为。“我的AWS EC2的第一次启动”如/etc/init.d或/etc/rc.local等?我不确定我是否正确理解了您的要求。(我不熟悉EC2用户数据。)但据我猜测,您希望定期运行一些东西。你认为它运行为<代码> CRON/COD>作业吗?(你可以通过谷歌找到很多关于如何使用
cron
的例子)@anishsane谢谢你的回复,不,我不想周期性地运行一些东西,我想在AWS EC2实例的第一次启动时运行一个脚本,我看到了奇怪的行为。“我的AWS EC2的第一次启动”比如/etc/init.d或/etc/rc.local等等?