Widziałem na tutoriali, że używają --fork
jako parametr mongod. Ale kiedy próbuję to zrobić, mówi nieznana opcja --fork
. A więc w jaki sposób --fork
mongodb na windows?fork mongodb w windows
Odpowiedz
--fork
to w rzeczywistości polecenie systemu Linux, a nie Windows lub mongod
. Nie wierzę, że to samo istnieje w systemie Windows.
Linux ma dwa prymitywy tu fork
i exec
jednak tylko Windows naprawdę ma createProcess
który skutecznie fork
-i- exec
.
Ustawienie usługi i jej uruchomienie w trybie fork
to nie to samo, usługa jest bardziej podobna do skryptu init.d
, jednak obecnie jest to jedyny sposób.
Cygwin mogą naśladować widelec na Windows, bardzo powoli, jak opisano tutaj: What is the closest thing windows has to fork()?
przydałby komendę startu tak zaczyna się jej na wierszu polecenia – tgkprog
System Windows nie obsługuje mechanizmu fork
, tak jak Unix-alikes, najbliższym odpowiednikiem w systemie Windows byłoby uruchomienie mongoda jako usługi, jak wyjaśniono w the Mongo manual.
Możesz napisać start /b
(/ b - środki wykonać bez nowym oknie cmd) przed komendą mongod
. Uruchomi on komendę asynchroniczną mongod
i zwolni konsolę. Ma podobny efekt, np. fork
.
Może być stosowany w skryptów .bat, na przykład, wychodząc zestawu replik:
start/b mongod --replSet M101 --logpath "1.log" --dbpath data \ RS1 - Port 27017 --smallfiles danych
start/b mongod --replSet M101 --logpath "2.log" --dbpath \ RS2 --port 27018 --smallfiles
startu/b mongod --replSet M101 --logpath "3.log" --dbpath data \ rs3 --port 27019 --smallfiles
...
jak byś następnie zatrzymać każdy lub którykolwiek z mongods ? – sdfor
mongo localhost: 27017 --eval "db.adminCommand ({shutdown: 1})" mongo localhost: 27018 --eval "db.adminCommand ({shutdown: 1})" mongo localhost: 27019 --eval "db .adminCommand ({shutdown: 1}) " – Hersh
Może również użyć pskill, menedżera zadań lub zrestartować komputer :-) – tgkprog
Polecenie --fork działa tylko w systemie Linux/Unix. Jeśli potrzebujesz - możesz uruchomić mongo w tle, w Windows, który można osiągnąć instalując mongod jako usługę.
Gdy używasz mongod --install do instalacji usługi mongodb, wymagane są opcje --dbpath i --logpath. W moim przypadku potrzebuję konsoli administratora do zainstalowania usługi.
Na przykład:
mongod --dbpath=C:\mongodb\data --logpath=C:\mongodb\data\log\service.log --install
Następnie przeglądać plik dziennika, aby zobaczyć nazwę usługi oraz inne informacje, w tym wszelkie możliwe błędy.
2014-06-25T18:21:14.245-0700 Trying to install Windows service 'MongoDB'
2014-06-25T18:21:14.253-0700 Service 'MongoDB' (MongoDB) installed with command line 'C:\mongodb-win32-x86_64-2008plus-2.6.1\bin\mongod.exe --dbpath=C:\mongodb\data --logpath=C:\mongodb\data\log\service.log --service'
2014-06-25T18:21:14.254-0700 Service can be started from the command line with 'net start MongoDB'
Domyślna nazwa usługi to "MongoDB". Nazwę usługi można nazwać opcją --serviceName podczas instalowania usługi.
Następnie uruchom usługę przy użyciu sieci.
net use MongoDB
Uwaga podczas instalowania usługi, lepiej użyć ścieżki bezwzględnej dla --dbpath i --log. W przeciwnym razie może wystąpić problem z uruchomieniem usługi. Szczegóły zostały omówione tutaj: Cannot start MongoDB as a service
Opcja --fork
nie jest dla MongoDB dla użytkowników systemu Windows i trzeba wykonać to każda komenda mongod w innym oknie:
mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64
mongod --replSet m101 --logpath "2.log" --dbpath /data/rs2 --port 27018 --smallfiles --oplogSize 64
mongod --replSet m101 --logpath "3.log" --dbpath /data/rs3 --port 27019 --smallfiles --oplogSize 64
MongoDB dla uniksopodobnego platform opcji --fork
Włącza tryb demon mongod który uruchamia proces do tło. Jest to normalny tryb działania, w produkcji i środowiskach produkcyjnych, ale może nie być pożądany do testowania.
- 1. odpowiednik fork/chroot dla aplikacji serwera Windows
- 2. Jak zatrzymać serwer mongodb w systemie Windows?
- 3. Połączenie Meteor MongoDb w systemie Windows
- 4. Dlaczego printf(), który poprzedza fork() zostanie wykonany nawet po fork()?
- 5. Wiele fork() współbieżność
- 6. Java - C-Like Fork?
- 7. Diff a git fork
- 8. printf anomalia po "fork()"
- 9. CreateThread vs fork()
- 10. procs, fork() i mutexes
- 11. Podsystem Windows 10 Linux. Jak zainstalować MongoDB
- 12. Zainstalować MongoDB na Windows 8.1 64bit
- 13. MongoDB: Zwiększenie połączeń Max MongoDB
- 14. Jak działa kopiowanie przy zapisie w fork()?
- 15. Użyj fork-and-join w JDK6
- 16. Jak rozwiązać ten fork() Przykład w C
- 17. git fork do niezależnego repozytorium?
- 18. Deklaracja przed dwukrotnym wydrukowaniem fork()
- 19. fork() procesy podrzędne i nadrzędne
- 20. Jaki jest najlepszy dostawca hostingu dla MongoDB w systemie Windows?
- 21. Biblioteka, która ma odniesienie do fork() w C
- 22. Jak obsługiwać błędy execvp (...) po fork()?
- 23. C: Exec/fork> Defunct processes
- 24. java fork/join wyjaśnienie dotyczące użycia stosu
- 25. Zachowanie wywołania systemowego fork() w systemie Linux w tym kodzie
- 26. Całkowicie wymień Fork z origin (github)
- 27. Problem rozwidlania fork() wiele procesów Unix
- 28. Czy fork() powiela całą pamięć rodzica?
- 29. Dlaczego execvp() wykonuje dwukrotnie używając fork()?
- 30. Dlaczego fork() powoduje duplikowanie danych wyjściowych?
tak --fork jest rzeczą linux, nie sądzę, że jest jednym z okien – Sammaye