Je voudrais lancer Mongod en arrière-plan comme une chose toujours présente. Quelle serait la meilleure façon de faire cela? Un peu comme la façon dont je peux exécuter MySQL au démarrage et qui fonctionne toujours en tâche de fond. Peut-être que ce ne sont que quelques scripts bash, mais il serait bon d’entendre s’il existe un meilleur moyen. Si c'est juste bash - à quoi cela ressemblerait-il? Merci.
mac-osx
unix
background-process
mongodb
Ryan Montgomery
la source
la source
npm install pm2 -g
+pm2 start mongod
+pm2 save
Est une façon multi - plateforme agréable de garder tout processus d'arrière - plan en cours d' exécution à travers des sessions.Réponses:
Le démon MongoDB (mongod) a une option de ligne de commande pour exécuter le serveur en arrière-plan ...
Cette option de ligne de commande nécessite que vous spécifiiez également un fichier dans lequel enregistrer les messages (car elle ne peut pas utiliser la console actuelle). Un exemple de cette commande ressemble à ceci:
Vous pouvez le placer dans un fichier de script /etc/init.d/mongod bash. Et pour que le service s'exécute au démarrage, créez les liens symboliques standard (S ## & K ##) dans /etc/rc#.d/. Voici un tutoriel qui explique ce processus plus en détail. Faites défiler jusqu'à la section intitulée "Activation du script d'initialisation". Cela présente également l’avantage supplémentaire de pouvoir exécuter des commandes telles que ...
la source
--syslog
dans laquelle tout est simplement écrit dans le journal système.Puisque vous êtes sur un Mac, vous devez utiliser Homebrew pour installer MongoDB (vous devrez installer Homebrew si vous ne l’avez pas encore fait):
Disons que la version installée est nommée
2.0.6-x86_64
. Ajoutez ensuite le fichier plist LaunchAgent qu’il génère pour vous:Cela se lancera
mongod
en arrière-plan maintenant et chaque fois que vous redémarrez votre ordinateur.la source
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/3.2.10/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
essayez d'exécuter la commande suivante:
la source
Classiquement, pour exécuter en arrière-plan, commencez simplement par
nohup some_command -to launch &
Donc c'est nohup &, placez la commande que vous voulez exécuter en arrière-plan entre nohup et &. Il fonctionnera comme vous, il continuera à fonctionner après la fermeture du terminal ou la déconnexion. Vous pouvez le lancer en tant qu’autre utilisateur via sudo. Pour le faire fonctionner au démarrage, ajoutez-le au remplacement des scripts d'initialisation (vous ne savez pas comment ils l'appellent). Il écrira toute sortie dans un fichier où vous avez commencé, appelé nohup.out
la source
Le meilleur moyen d’exécuter un programme au démarrage sous OS X consiste à créer un LaunchDaemon (voir la documentation d’Apple et à consulter certains des démons fournis par Apple dans / System / Library / LaunchDaemons) et à l’installer dans / Library. / LaunchDaemons. Lingon peut vous aider à créer le fichier .plist.
la source