मैं यूनिक्स (मैक ओएसएक्स) पर पृष्ठभूमि में मंगोल को कैसे चला सकता हूं?


50

मैं बैकग्राउंड में मोंगॉड को हमेशा मौजूद चीज के रूप में चलाना चाहूंगा। क्या सबसे अच्छा तरीका होगा यह करने का? जिस तरह से मैं MySQL को स्टार्टअप पर चला सकता हूं और यह हमेशा पृष्ठभूमि में चल रहा है। हो सकता है कि यह सिर्फ कुछ बैश स्क्रिप्ट हो, लेकिन अगर कोई बेहतर तरीका है तो यह सुनना अच्छा होगा। अगर यह सिर्फ बैश है - तो वह कैसा दिखेगा? धन्यवाद।


1
npm install pm2 -g+ pm2 start mongod+ pm2 saveकिसी भी पृष्ठभूमि प्रक्रिया को सत्रों में चलाने के लिए एक अच्छा क्रॉस प्लेटफ़ॉर्म तरीका है।
Jthorpe

जवाबों:


81

MongoDB डेमन (mongod) के पास बैकग्राउंड में सर्वर चलाने के लिए एक कमांड-लाइन विकल्प है ...

--fork

इस कमांड-लाइन विकल्प के लिए आवश्यक है कि आप लॉग इन संदेशों के लिए एक फ़ाइल भी निर्दिष्ट करें (क्योंकि यह वर्तमान कंसोल का उपयोग नहीं कर सकता है)। इस आदेश का एक उदाहरण इस प्रकार है:

mongod --fork --logpath /var/log/mongod.log

आप इसे /etc/init.d/mongod bash स्क्रिप्ट फ़ाइल में डाल सकते हैं। और फिर स्टार्टअप पर सेवा चलाने के लिए, /etc/rc#.d/ के अंदर मानक प्रतीकात्मक लिंक (S ## & K ##) बनाएं। यहां एक ट्यूटोरियल है जो इस प्रक्रिया को और अधिक विस्तार से बताता है। "इनिट स्क्रिप्ट सक्रियण" शीर्षक वाले अनुभाग तक स्क्रॉल करें। यह भी इस तरह के आदेशों को निष्पादित करने में सक्षम होने का अतिरिक्त लाभ है ...

service mongod status
service mongod start
service mongod stop

मैं ऐसा विंडोज में नहीं कर सकता।
मलिक ब्राहिमी

@MalikBrahimi देखें stackoverflow.com/q/15185012/544342
WAF

./bin/mongod --fork --logpath = लॉग / mongod.log --dbpath = डेटा / db मेरे लिए काम किया
Selvakumar Esra

यदि आप एक अतिरिक्त लॉग फ़ाइल नहीं बनाना चाहते हैं, तो वहाँ भी विकल्प --syslogहै जो सब कुछ सिस्टम लॉग में लिखा है।
मार्कस ग्रेफ

@ जेसे वेब। और क्या यह मेरे लॉगआउट के बाद भी चलता रहेगा, उदाहरण के लिए, ssh कनेक्शन?
मिगेल

11

चूंकि आप एक मैक पर हैं, तो आपको MongoDB स्थापित करने के लिए Homebrew का उपयोग करना चाहिए (यदि आपको अभी तक होमब्रेव स्थापित करना होगा):

brew install mongodb

मान लीजिए कि जो संस्करण स्थापित किया गया था उसका नाम है 2.0.6-x86_64। इसके बाद LaunchAgent plist फाइल को जोड़ें जो आपके लिए उत्पन्न होती है:

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/2.0.6-x86_64/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

यह mongodअब पृष्ठभूमि में लॉन्च होगा और हर बार जब आप अपने कंप्यूटर को पुनरारंभ करेंगे।


1
अद्यतन: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
हेल्सोंट


0

शास्त्रीय रूप से, पृष्ठभूमि में चलाने के लिए, बस
nohup के साथ शुरू करें some_command -to लॉन्च और
इसलिए nohup और, वह कमांड डालें जिसे आप nohup और & के बीच पृष्ठभूमि में चलाना चाहते हैं। यह आपके जैसे ही चलेगा, टर्मिनल बंद करने या लॉग आउट करने के बाद भी यह चलता रहेगा। आप इसे sudo के माध्यम से दूसरे उपयोगकर्ता के रूप में शुरू कर सकते हैं। इसे प्रारंभ करने के लिए, इसे init स्क्रिप्ट प्रतिस्थापन में जोड़ें (पता नहीं कि वे इसे क्या कहते हैं)। यह किसी भी आउटपुट को एक फाइल में लिख देगा जहाँ आपने इसे शुरू किया था जिसे nohup.out कहा जाता है


0

ओएस एक्स पर स्टार्टअप पर चलने के लिए एक कार्यक्रम प्राप्त करने का सबसे अच्छा तरीका एक लॉन्चडॉन बनाना है ( ऐप्पल के डॉक्स देखें , और ऐप्पल द्वारा आपूर्ति किए गए कुछ डेमों / इन / सिस्टम / लाइब्रेरी / लॉन्चडैमन्स पर एक नज़र डालें) और इसे / लाइब्रेरी में स्थापित करें / LaunchDaemons। लिंगोन .plist फ़ाइल बनाने में आपकी सहायता कर सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.