2

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

我也想将一些参数传递给 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 语句放入大括号中......

4

1 回答 1

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
于 2014-10-21T14:51:22.710 回答