Chciałbym uruchomić mongod w tle jako coś zawsze obecnego. Jaki byłby najlepszy sposób to zrobić? W pewnym sensie sposób, w jaki mogę uruchomić MySQL przy starcie i zawsze działa w tle. Może to tylko niektóre skrypty bash, ale byłoby miło usłyszeć, jeśli jest lepszy sposób. Jeśli to tylko bzdura - jak by to wyglądało? Dzięki.
mac-osx
unix
background-process
mongodb
Ryan Montgomery
źródło
źródło
npm install pm2 -g
+pm2 start mongod
+pm2 save
to przyjemny wieloplatformowy sposób na utrzymanie dowolnego procesu działającego w tle w trakcie sesji.Odpowiedzi:
Demon MongoDB (mongod) ma opcję wiersza polecenia, aby uruchomić serwer w tle ...
Ta opcja wiersza polecenia wymaga również podania pliku, w którym mają być rejestrowane wiadomości (ponieważ nie można użyć bieżącej konsoli). Przykład tego polecenia wygląda następująco:
Możesz to umieścić w pliku skryptu bash /etc/init.d/mongod. A następnie, aby usługa była uruchamiana podczas uruchamiania, utwórz standardowe dowiązania symboliczne (S ## & K ##) w /etc/rc#.d/. Oto samouczek, który bardziej szczegółowo wyjaśnia ten proces. Przewiń w dół do sekcji „Aktywacja skryptu początkowego”. Ma to również tę dodatkową zaletę, że umożliwia wykonywanie poleceń takich jak ...
źródło
--syslog
w której wszystko jest zapisywane w dzienniku systemowym.Ponieważ jesteś na komputerze Mac, powinieneś użyć Homebrew, aby zainstalować MongoDB (jeśli jeszcze tego nie zrobiłeś, musisz zainstalować Homebrew):
Powiedzmy, że zainstalowana wersja ma nazwę
2.0.6-x86_64
. Następnie dodaj wygenerowany przez Ciebie plik Plist LaunchAgent:To uruchomi
mongod
się teraz w tle i za każdym razem, gdy ponownie uruchomisz komputer.źródło
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
spróbuj uruchomić następujące polecenie:
źródło
Klasycznie, aby uruchomić w tle, po prostu zacznij od
nohup some_command -to launch &
Więc to jest nohup &, umieść polecenie, które chcesz uruchomić w tle między nohup a &. Będzie działał jak ty, będzie działał po zamknięciu terminalu lub wylogowaniu. Możesz uruchomić go jako inny użytkownik przez sudo. Aby uruchomić go na starcie, dodaj go do zamiany skryptów init (nie wiem jak to nazywają). Wypisze każde wyjście do pliku, w którym go uruchomiłeś, o nazwie nohup.out
źródło
Najlepszym sposobem na uruchomienie programu podczas uruchamiania w systemie OS X jest utworzenie LaunchDaemon (zobacz dokumenty Apple i rzuć okiem na niektóre dostarczone przez Apple demony w / System / Library / LaunchDaemons) i zainstaluj go w / Library / LaunchDaemons. Lingon może pomóc w utworzeniu pliku .plist.
źródło