我正在尝试构建一个与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语句放入大括号......
答案 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