2017-05-28 88 views
0

我想以ip地址作为参数运行我的服务器。与supervisord执行子命令

./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命令被作为参数,而不是从卷曲IP地址。 帮助赞赏。

回答

1

Supervisord不为指定的命令执行shell,因此curl不被视为命令,而仅作为字符串处理。请查看answer了解更多详情。作为解决方法,您可以尝试使用bash -c "desired command"构造。