58 votos

¿Cómo puedo ejecutar mongod en el fondo en unix (mac osx)?

Me gustaría correr mongod en el fondo como un siempre presente tipo de cosas. ¿Cuál sería la mejor manera de hacer esto? Algo así como la forma en que me puede ejecutar MySQL en el inicio y es siempre allí corriendo en el fondo. Tal vez es sólo algunos scripts de bash, pero sería bueno saber si hay una manera mejor. Si es sólo bash - ¿qué sería eso? Gracias.

92voto

Jesse Webb Puntos 389

La MongoDB demonio (mongod) tiene una opción de línea de comandos para ejecutar el servidor en segundo plano...

--fork

Esta opción de línea de comandos requiere que también se especifique un archivo de registro de mensajes (ya que no puede utilizar la consola actual). Un ejemplo de este comando se parece a:

mongod --fork --logpath /var/log/mongod.log

Usted podría poner esto en /etc/init.d/mongod bash archivo de secuencia de comandos. Y, a continuación, para que el servicio se ejecute en el inicio, crear el estándar de los enlaces simbólicos (S## & K##) dentro de /etc/rc#.d/. Aquí hay un tutorial que explica este proceso en más detalle. Desplácese hacia abajo hasta la sección titulada "Init Script de Activación". Esto también tiene el beneficio añadido de ser capaz de ejecutar comandos como...

service mongod status
service mongod start
service mongod stop

11voto

Simon Puntos 98

Ya que estás en un Mac, usted debe usar Homebrew para instalar MongoDB (usted tendrá que instalar el Homebrew si no lo has hecho todavía):

brew install mongodb

Digamos que la versión instalada es nombrado 2.0.6-x86_64. A continuación, agregue el LaunchAgent plist archivo que genera:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/2.0.6-x86_64/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

De esta forma se iniciará mongod en el fondo, ahora y cada vez que reinicie su equipo.

1voto

automatonic Puntos 2830

Clásicamente, para que se ejecute en el fondo, acaba de empezar con
nohup some_command-para lanzar &
Así que es nohup &, poner el comando que queremos ejecutar en el fondo entre nohup y &. Se ejecutará como usted, va a seguir funcionando después de cerrar el terminal o cerrar la sesión. Usted puede iniciar como otro usuario a través de sudo. Para hacer que se ejecute en el inicio, agregar los scripts de inicio de sustitución (no saben lo llaman). Escribirá cualquier salida a un archivo donde se empezó llamado nohup.fuera

0voto

nullDev Puntos 1778

La mejor manera de conseguir que un programa se ejecute en el arranque de OS X es crear un LaunchDaemon (ver Apple docs, y echar un vistazo a algunas de las suministradas por Apple demonios en /System/Library/LaunchDaemons) e instalarlo en /Library/LaunchDaemons. Lingon puede ayudarle a crear la .plist archivo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: