Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Here my upstart config for solr which is located under /etc/init/solr.conf

# /etc/init/solr.conf

description "Starts Solr server"

start on startup solr_push

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

When I update this upstart config, for example changing java options from -Xmx80M to -Xmx70M and then do

sudo restart solr
ps aux | grep solr

I still see -Xm80M over there, even though solr process was started with new process id.

When I do sudo stop solr and then sudo start solr manually - everything looks as expected and I can see new values in the ps aux.

I was under impression that upstart restart does stop and start behind the scenes, but then why results of maunal stop and start differ from restart?

Please advice, maybe I'm doing something incorrectly?

share|improve this question

From "man initctl"...

restart JOB [KEY=VALUE]...

Requests that an instance of the named JOB be restarted, outputting the status of the job to standard output when the command completes.

The job instance being restarted will retain its original configuration.

To have the new instance run with the latest job configuration, stop the job and then start it again instead.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.