Ho visto su tutorial che usano --fork
come parametro di mongod. Ma quando provo a farlo, dice l'opzione sconosciuta --fork
. Quindi, come --fork
mongodb su Windows?fork mongodb in windows
risposta
--fork
è in realtà un comando Linux non un comando Windows o mongod
. Non credo che lo stesso esista su Windows.
Linux ha due primitive qui, fork
e exec
tuttavia Windows è veramente solo createProcess
che è effettivamente fork
-e- exec
.
Impostare un servizio ed eseguirlo nella modalità fork
non è la stessa cosa, un servizio è più simile a uno script init.d
, ma attualmente è l'unico modo veramente.
Cygwin può emulare forchetta su Windows, molto lentamente, come descritto qui: What is the closest thing windows has to fork()?
possibile utilizzare il comando di avvio in modo che inizia nella sua sul prompt dei comandi – tgkprog
Windows non supporta il meccanismo fork
come Unix-alikes, l'equivalente più simile su Windows sarebbe quello di eseguire mongod come servizio, come spiegato in the Mongo manual.
È possibile scrivere start /b
(/ b - mezzi eseguono senza nuova finestra cmd) prima mongod
comando. Avvierà il comando mongod
in modo asincrono e verrà visualizzato il prompt della console. Quindi, ha un effetto simile, come fork
.
Può essere utilizzato negli script bat, per esempio, a partire replica set:
start/b mongod --replSet M101 --logpath "1.log" --dbpath dati \ RS1 - port 27017 --smallfiles dati
start/b mongod --replSet M101 --logpath "2.log" --dbpath \ RS2 --port 27018 --smallfiles
start/b mongod --replSet M101 --logpath "3.log" --dbpath data \ rs3 --port 27019 --smallfiles
...
come è possibile poi fermarsi ciascuno o uno qualsiasi dei 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
Può anche usare pskill, il task manager o il riavvio :-) – tgkprog
Il comando --fork funziona solo per Linux/Unix. Se hai bisogno di --fork per eseguire mongod in background, su Windows che può essere ottenuto installando mongod come servizio.
Quando si utilizza l'opzione mongod --install per installare il servizio mongodb, sono richiesti --dbpath e --logpath. Nel mio caso, ho bisogno di utilizzare la console di comando dell'amministratore per installare il servizio.
Ad esempio:
mongod --dbpath=C:\mongodb\data --logpath=C:\mongodb\data\log\service.log --install
quindi individuare il file di log per vedere il nome del servizio e altre informazioni comprese eventuali errori.
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'
Il nome del servizio predefinito è "MongoDB". È possibile assegnare un nome al servizio con l'opzione --serviceName quando si installa il servizio.
Quindi avviare il servizio con uso di rete.
net use MongoDB
Nota quando si installa il servizio, è meglio utilizzare il percorso assoluto per --dbpath e --log. In caso contrario, il servizio potrebbe avere un problema da avviare. I particolari sono stati discussi qui: Cannot start MongoDB as a service
L'opzione --fork
non è per MongoDB per gli utenti Windows ed è necessario eseguire questo ogni comando mongod in una finestra diversa:
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 per Unix-like piattaforme opzione --fork
Consente di utilizzare una modalità demone per mongod che esegue il processo al sfondo. Questa è la modalità di funzionamento normale, in produzione e negli ambienti di produzione simili a , ma potrebbe non essere consigliabile per il test.
- 1. Costruire il driver MongoDB C in Windows
- 2. Come connettersi a MongoDB in Windows?
- 3. Prestazioni di Mongodb su Windows
- 4. Connessione Meteor MongoDb su Windows
- 5. Funzione Fork() in C
- 6. Running fork (2) da Windows con Cygwin. Possibile?
- 7. MongoDB: Aumento connessioni max in MongoDB
- 8. Come usare fork() in Perl?
- 9. fork() in C utilizzando printf
- 10. pipe() e fork() in c
- 11. fork in programma multi-thread
- 12. fork ed exec in bash
- 13. mongodb non può iniziare su Windows?
- 14. Mongodb, sharding e più servizi Windows
- 15. Come arrestare il server mongodb su Windows?
- 16. MongoDB Agente di automazione MMS per Windows
- 17. Installa MongoDB su Windows 8.1 64 bit
- 18. Come lavorare su XAMPP e mongodb in Windows?
- 19. printf anomalia dopo "fork()"
- 20. Clone-equivalent of fork?
- 21. fork(), exec e waitpid()
- 22. Comunicazione fork parent genitore
- 23. c - fork() codice
- 24. Diff a git fork
- 25. CreateThread vs fork()
- 26. fork() a() ciclo
- 27. git fork in un repository indipendente?
- 28. Dead simple Fork-Join Join in Clojure
- 29. Quanti child_processes dovrei fork() in node.js?
- 30. supporto integrato django per MongoDB
sì --fork è una cosa di Linux, non credo che ci sia una per Windows – Sammaye