79

I installed these applications on my Ubuntu:

  • nginx

  • php5-fpm

  • mysql server

  • redis

  • ...

These applications run every time the computer turns on.

How can I prevent these applications from running on start up?
So, these applications only run if I do "service nginx start".

2
  • for s in "nginx mysql redis"; do sudo update-rc.d $s disable; done Jul 28, 2016 at 7:20
  • Auto-start programs are configured in autostart manifests or in *.service files in several locations, as well as in init.d or crontab. See: unix.stackexchange.com/a/525845/43233
    – Noam Manos
    Jun 20, 2019 at 6:36

3 Answers 3

168

Use:

systemctl disable <service>

If you are not using systemd (Ubuntu 14.10 and earlier) use:

update-rc.d -f <service> remove

The following command will give you a list of all services on your machine:

service --status-all

You should be able to find the names of the services you want to disable in there.

For more details, see enabling-and-disabling-services and for the very long answer see this post (as already mentioned by @muru).

For more details, see this post on Digital Ocean and the man page for systemctl.

3
  • 1
    Starting with Ubuntu 15, this is no longer valid. systemctl disable SERVICE works (see the linked question in answer)
    – Ryre
    Apr 28, 2017 at 3:27
  • The link in "For more details see ..." does not mention systemctl. I guess that was for old versions, but now it's confusing.
    – matteo
    Jun 23, 2017 at 19:54
  • 3
    @matteo Up dated my answer with links to posts with more info on systemctl
    – NZD
    Jun 24, 2017 at 4:57
-1

Another method is by installing rcconf apt-get install rcconf. From rcconf you can enable/disable any service that is installed on your ubuntu/debian server.

1
  • 4
    Except of course that it uses functionality of update-rc.d that was removed a few years ago (Debian bug #727735) and it doesn't work with systemd or upstart, i.e. either of the default init systems for Ubuntu Linux for the past decade.
    – JdeBP
    Nov 17, 2015 at 9:14
-1

Install sysv-rc-conf

apt-get install sysv-rc-conf

Then simply to list services

sysv-rc-conf --list

To disable any services i.e nginx

sysv-rc-conf nginx off

For more information see man sysv-rc-conf

1
  • 7
    Except of course that it doesn't work with systemd or upstart. It is patently (it even being in the package name) only for the old System 5 rc system, which hasn't been the default on Ubuntu Linux for almost a decade. Debian Bug #791689 acknowledges this and questions why it hasn't been marked as conflicting with systemd.
    – JdeBP
    Nov 17, 2015 at 9:26

Not the answer you're looking for? Browse other questions tagged .