Я хотел бы запустить Mongod в фоновом режиме, как всегда присутствующие вещи. Каков был бы лучший способ сделать это? Вроде как я могу запустить MySQL при запуске, и он всегда работает в фоновом режиме. Может быть, это всего лишь несколько сценариев bash, но было бы неплохо услышать, если есть лучший способ. Если это просто bash - как бы это выглядело? Благодарю.
mac-osx
unix
background-process
mongodb
Райан Монтгомери
источник
источник
npm install pm2 -g
+pm2 start mongod
+pm2 save
- это хороший кроссплатформенный способ поддерживать любой фоновый процесс в сеансах.Ответы:
У демона MongoDB (mongod) есть опция командной строки для запуска сервера в фоновом режиме ...
Этот параметр командной строки требует, чтобы вы также указали файл для записи сообщений (поскольку он не может использовать текущую консоль). Пример этой команды выглядит так:
Вы можете поместить это в файл сценария /etc/init.d/mongod bash. А затем для запуска службы при запуске создайте стандартные символические ссылки (S ## & K ##) внутри /etc/rc#.d/. Вот учебник, который объясняет этот процесс более подробно. Прокрутите страницу вниз до раздела «Активация сценария инициализации». Это также имеет дополнительное преимущество - возможность выполнять такие команды, как ...
источник
--syslog
в которой все просто записывается в системный журнал.Поскольку вы работаете на Mac, вы должны использовать Homebrew для установки MongoDB (вам нужно будет установить Homebrew, если вы этого еще не сделали):
Допустим, версия, которая была установлена, называется
2.0.6-x86_64
. Затем добавьте файл LaunchAgent plist, который он сгенерирует для вас:Это будет запускаться
mongod
в фоновом режиме сейчас и каждый раз, когда вы перезагрузите компьютер.источник
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
попробуйте выполнить следующую команду:
источник
Классически, для запуска в фоновом режиме, просто начните с
nohup some_command -to launch &
Так что это nohup &, поместите команду, которую вы хотите запустить в фоновом режиме, между nohup и &. Он будет работать как вы, он будет продолжать работать после закрытия терминала или выхода из системы. Вы можете запустить его как другой пользователь через sudo. Чтобы запустить его при запуске, добавьте его в замену сценариев инициализации (не знаю, как они его называют). Он запишет любой вывод в файл, где вы начали, он называется nohup.out
источник
Лучший способ заставить программу работать при запуске в OS X - это создать LaunchDaemon (см . Документацию Apple и взглянуть на некоторые из поставляемых Apple демонов в / System / Library / LaunchDaemons) и установить ее в / Library / LaunchDaemons. Lingon может помочь вам создать файл .plist.
источник