Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

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

I am using upstart for services on my servers. Writing a conf file and placing it in /etc/init is easy enough, but that doesn't seem to completely install. For one, the service --status-all doesn't list my new service. I checked and if I make a link in /etc/init.d to /lib/init/ubstart-job it'll show up in the status. But doing this manually makes me think I'm not doing it right, and there may well be other configuration steps which aren't being done.

What is the correct way to install an upstart service such that it is properly registered in all tools dealing with services?

share|improve this question
This guy answered one of my questions using upstart service and gave a detailed explanation, it might point out a step that might have been missed – Meer Borg May 24 '13 at 6:53

When you initially copy a new conf file into the /etc/init folder you need to call:

initctl reload-configuration

By this your upstart should be properly registered.

share|improve this answer
So this correctly sets up the job (ie, start and stop work) but it doesn't make the job show up in status all. I still had to manually add it to /etc/init.d/ for that to happen. – James McMahon May 8 '14 at 14:32
@JamesMcMahon You need to run initctl list command with sudo: sudo initctl list. That way you will see complete list of services. – Shehi Dec 19 '14 at 14:39
Why the sudo, it doesn't appear to change the output of initctl list at all. – LovesTha May 22 '15 at 0:11

Checkout the service manual:

service --status-all runs all init scripts, in alphabetical order, with the status command. This option only calls status for sysvinit jobs, upstart jobs can be queried in a similar manner with initctl list.

(emphasis added)

That's why adding it to /etc/init.d (where the sysvinit jobs are located) made that work. So: try running initctl list instead :) .

share|improve this answer

Friend , make sure that you follow the following steps while adding/creating new service in ubuntu.

  1. Create the service file in /etc/init.d/<service name>
  2. chmod 700 /etc/init.d/<service name>
  3. update-rc.d <service name> defaults
  4. update-rc.d <service name> enable

now see you service in

service --status-all
share|improve this answer
your answer relates to sysv and not upstart. you may wish to delete it. – jcomeau_ictx Mar 9 '15 at 21:36
It's a usefull response indeed. – ATorras Feb 28 at 18:30

I've found that an error in the .conf file can make the job not recognizable to initctl. for example, having a setuid line in Upstart version 1.3 or earlier.

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.