用supervisord执行子命令

时间:2017-05-28 19:16:03

标签: linux supervisord

我想以ip地址作为参数来运行我的服务器。

./server-no-ssl 80 "$(curl http://169.254.169.254/latest/meta-data/public-hostname)"

我正在使用主管配置

[program:allsparkrt]
command=/home/ubuntu/server-no-ssl 80 "$(curl http://169.254.169.254/latest/meta-data/public-hostname)"
directory=/home/ubuntu/
autostart=true
autorestart=true
startretries=3
stderr_logfile=/var/log/allspark_server.err.log
stdout_logfile=/var/log/allspark_server.out.log
stopsignal=INT
stopwaitsecs=60

将curl命令作为参数而不是来自curl的ip地址。 帮助赞赏。

1 个答案:

答案 0 :(得分:1)

Supervisord不会为指定的命令执行shell,因此curl不会被视为命令,而只能作为字符串。有关详细信息,请查看此answer。作为解决方法,您可以尝试使用bash -c "desired command"构建。