Server Fault is a question and answer site for system and network administrators. 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 started playing with MongoDB on Lucid. Now I would like to run a DB and Config server on the same box. They both use the same binary to launch, but with different config files and running on different ports. All directories for log and lib is split so one goes to mongodb and the other to mongoconf.

Each process can be started without any problems on their own.

start mongodb 
stop mongodb
start mongoconf
stop mongoconf

But if I try to start both, the second one would just start and exit. Using 'initctl log-priority debug' I got the following in the logs.

Jan  6 12:44:12 mongo4 init: event_finished: Finished started event
Jan  6 12:44:12 mongo4 init: job_process_handler: Ignored event 1 (1) for process 5690
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) main process (5690) terminated with status 1
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) goal changed from start to stop
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) state changed from running to stopping

man 5 init shows that you can use instance names to differentiate the two. I tried using 'instance mongoconf' in the on upstart script and 'instance mongodb' in the other one, and it still fails. I can manually start the other process, so there is definitely no conflicts on port numbers or directories.

Any ideas on what to try or how to get output on why it is 'terminated with status 1'?


share|improve this question
up vote 2 down vote accepted

For you intrepid sysadmins that find this, upstart doesn't just test the paths, it appears to test that the inode is different. This means that Hard-linking the file is out of the question too. the only way to run the same binary multiple times is to make multiple copies.

share|improve this answer

Doing some testing, I found that upstart uses the full path to the binary to see if it is the same process. So making a copy of the binary in a different location will allow you to create two upstart scripts.

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.