This question already has an answer here:

How can I disable autostart for a service without uninstalling? For example, I'd like to leave tomcat installed, but I don't want it turning on every time I restart.

marked as duplicate by Ron, Kevin Bowen, Maythux, Pilot6, David Foerster Jul 23 '15 at 8:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 173 down vote accepted

This should do the trick:

Open terminal (Ctrl + Alt + T) and enter the following command:

sudo update-rc.d tomcat disable

Basically update-rc.d will modify existing runlevel links for the script /etc/init.d/tomcat by renaming start links to stop links.

  • 6
    Note that the default tomcat service name is "tomcat7" in ubuntu 14. – eaykin Feb 16 '15 at 12:45
  • If your tomcat is tomcat6 you will need to do "sudo update-rc.d tomcat6 disable" else you will get error. – Dung Jun 10 '16 at 16:11
  • Weirdly, this removed the links, and then created some new ones when I did it for postgresql. Dunno. – mlissner Mar 30 '17 at 18:07
  • You might want to consider this message in the update-rc.d: The disable|enable API is not stable and might change in the future. – Sahil Arora Apr 18 '17 at 18:34

More generic and more visual, with a nice UI: sysv-rc-conf

Uncheck the boxes for tomcat7 (runlevels 2 to 5), quit and that's it.

  • cool, that's a tool I haven't seen before. It was useful to confirm that the update-rc.d command actually had worked – STW Mar 19 '14 at 1:14
  • This tool is great, it was the thing I was searching for. Thank you very much for it. – Utku Özdemir Apr 24 '14 at 7:07

The disable|enable API is not stable and might change in the future. I suggest you use the following command to remove all the symlinks in /etc/rc?.d/:

update-rc.d -f tomcat remove
  • This one worked for me. I had uninstalled tomcat manually yet it was trying to shut it down before any reboot. Disable without -f parameter yelded "file does not exists". – amenadiel Sep 2 '13 at 11:54

For upstart jobs, you need to disable service like this (e.g. mysql):

$ sudo -s
# echo "manual" > /etc/init/mysql.override
  • + 1 million, this is what worked for me. I was trying to stop transmission-daemon from starting on startup and the update-rc.d method used to work, but it looks like its been converted to an Upstart script now so this is the only method that works – Erin Drummond Mar 7 '15 at 6:46
  • Thanks, this worked for me and disabling mongodb! Couldn't seem to get it working with echo so I did it the oldschool sudo vi /etc/init/mongodb.override way – twig Aug 10 '16 at 0:43

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