新贵重启命令不会加载新的更新作业配置 (solr)

gan*_*est 4 upstart solr

这是我的 solr 新贵配置,它位于 /etc/init/solr.conf

# /etc/init/solr.conf

description "Starts Solr server"

respawn
start on startup solr_push

script
        echo "Starting solr server..."
        cd /opt/solr/solr-4.2.1/example
        exec java -Xms50M -Xmx80M -Djava.util.logging.config.file=/etc/solr/logging.properties -Dsolr.solr.home=/etc/solr -jar start.jar >> /var/log/solr/solr-console.log 2>&1
end script
Run Code Online (Sandbox Code Playgroud)

当我更新此新贵配置时,例如将 java 选项从-Xmx80Mto更改 为 -Xmx70M然后执行

sudo restart solr
ps aux | grep solr
Run Code Online (Sandbox Code Playgroud)

我仍然看到-Xm80M那边,即使 solr 进程是用新的进程 id 启动的。

当我这样做sudo stop solr然后sudo start solr手动 - 一切看起来都符合预期,我可以在ps aux.

我的印象是 upstart restart 确实在幕后停止和启动,但是为什么手动停止和启动的结果与重新启动不同?

请建议,也许我做错了什么?

小智 7

从“ man initctl”...

重新启动作业 [KEY=VALUE]...

请求重新启动指定作业的实例,在命令完成时将作业状态输出到标准输出。

正在重新启动的作业实例将保留其原始配置。

要使用最新的作业配置运行新实例,请停止该作业,然后重新启动它。