start-stop-daemon:将参数传递给application(vertx)

时间:2014-10-13 09:50:05

标签: start-stop-daemon vert.x

我正在尝试构建一个与monit结合使用的upstart配置。

我也想将一些参数传递给vertx(Verticle的多个实例),但是我已经无法在shell上获得正确的声明了,所以我认为没有必要引用upstart脚本。

start-stop-daemon --start --chdir /my/app/dir --exec /usr/bin/vertx runzip myverticle-mod.zip -instances 20

不知道如何将'-instances 20'arg传递给exec语句,不知怎的,它总是被解释为start-stop-daemon的选项

start-stop-daemon: invalid option -- 'i'

我已经尝试将整个--exec语句放入大括号......

1 个答案:

答案 0 :(得分:1)

也许我在Unix基础知识中遗漏了一些东西并且没有设法正确地逃避--exec字符串,所以我务实的方法/解决方法是创建一个自定义的参数化启动脚本:

#!/bin/sh
export JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$1 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.0.100"
/usr/bin/vertx runzip $2 -instances $3

Upstart配置(通过端口33002上的JMX RMI运行10个Verticle实例)

script
    VERTX_OPTS=" 33002 mymodule-mod.zip 10"
    exec start-stop-daemon --start --exec /usr/bin/myVertxStartup --$VERTX_OPTS
end script