When I reboot my Ubuntu 10.04 32 bit machine all the startup services are started twice.

The startup process looks like this:

Starting apache2
Starting apache2 
(98)Address already in use: make_sock: could not bind to address 
no listening sockets available, shutting down 
Unable to open logs 


 * Starting MySQL database server mysqld        * Starting MySQL database[ OK ]  * Starting nsd3...        * Starting nsd3...
                                                                             [ OK ] 
 * Starting Postfix Mail Transport Agent postfix        * Starting Postfi[ OK ] Transport Agent postfix        
                                                                             [ OK ] 
 * Starting NTP server ntpd        * Starting NTP server ntpd            [ OK ] 
Starting daemon monitor: monit. 

I checked I don't have duplicate startup links, if I do an update-rc.d -f mysql remove then reboot mysql doesn't start at all, re-adding it still makes is start twice.

The only things in my logs are warnings about everything starting twice.

Has anyone seen this before or have a clue where to poke to find out whats causing it?


I'd guess that your system is possibly going through two runlevels and executing the start scripts in each.

First I'd look at /etc/rc2.d, /etc/rc3.d, /etc/rc4.d - and remove all but one of the start symlinks and see if that works.

Use the "runlevel" command to see what runlevel you are currently in.


Found the problem, I had a duplicate copy of /etc/init/rc.conf so upstart was running /etc/init.d/rc twice.


I had this problem in gentoo, for me what it turned out to be was I was using the sh shell on linux to run a flask app in the background in Debug mode, that software was causing two instances of flask to be run. A solution was to turn off debug mode which fixed my problem. Be slow to accuse the linux internals of the problem, often the problem is in our code. Simplify your code to do less complicated work and you can isolate the problem.

If you still think the guts of linux OS are to blame, check is that you don't have your start up scripts duplicated in your /etc/runlevels/boot, /etc/runlevels/default and /etc/init.d directories. You could check for files with the same names. If they exist, move out the ones from /etc/runlevels/default that are also in /etc/runlevels/boot.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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