2

I am having a remote server to which i connect using ssh. I started a process(mongodb) on the server using following command- "/usr/bin/mongod --dbpath /mnt/ebs-300/mongodb --logpath /mnt/ebs-300/log/mongodb/mongodb.log run --config /etc/mongodb.conf &"

As '&' is appended to the command this process runs in the background. After running the process and checking its working properly i exit from the teminal(ssh). This process got killed after some time by printing the below logs - "got kill or ctrl c or hup signal 1 (Hangup), will terminate after current cmd ends"

Can some one please guide me if I am doing wrong or there is proper way to run the process from the remote terminal.

Thanks!!

azhar_salati
  • 131
  • 1
  • 5

3 Answers3

2

I would suggest that although '&' runs the command in background, when you exit your terminal it is still getting sent SIGHUP. You could use the disown command

disown prevents the current shell from sending a HUP signal to each of the given jobs when the current shell terminates a login session.

If job is omitted, the most recently started or stopped background job is used.

Rory Alsop
  • 1,184
  • 11
  • 21
  • Thanks Rory for the reply. As I don't know much about linux process I need to clear a doubt that according to you even when i exit the terminal it is still getting SIGHUP which is killing the process. To avoid this you said to use disown that ok, but can i also handle this case by using 'nohup' i.e. i would run the process like _ "nohup /usr/bin/mongod --dbpath /mnt/ebs-300/mongodb --logpath /mnt/ebs-300/log/mongodb/mongodb.log run --config /etc/mongodb.conf > /dev/null &" Will it work ? – azhar_salati Aug 26 '11 at 08:01
  • The '&' should be all you need for a nohup (it is equivalent), but it can still be killed if the terminal exits. – Rory Alsop Aug 26 '11 at 08:10
1

Rory's answer is fine, but adding the --fork flag to your mongod invocation will keep it running in the background as well.

gWaldo
  • 11,957
  • 8
  • 42
  • 69
0

This is what nohup is for!

If it exists on your distribution, it's the simple way, plus it lets you keep a logfile.

Richard T
  • 1,206
  • 12
  • 29