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


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


43
2017-07-06 02:54


मूल


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


जवाब:


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

72
2017-09-14 23:02



मैं विंडोज़ में ऐसा नहीं कर सकता। - Malik Brahimi
@ मलिक ब्रह्मी देखें stackoverflow.com/q/15185012/544342 - WAF
./bin/mongod --fork --logpath = logs / mongod.log --dbpath = data / db मेरे लिए काम किया - Selvakumar Esra
यदि आप एक अतिरिक्त लॉग फ़ाइल नहीं बनाना चाहते हैं, तो विकल्प भी है --syslog जिसमें सबकुछ सिर्फ सिस्टम लॉग में लिखा गया है। - Markus Graf
@ जेसे वेबब। और लॉगआउट के बाद यह चल रहा है, उदाहरण के लिए, एसएसएच कनेक्शन? - Miguel


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

brew install mongodb

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

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 पृष्ठभूमि में अब और हर बार जब आप अपने कंप्यूटर को पुनरारंभ करते हैं।


10
2018-06-13 16:46



अद्यतन: 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 - helsont


निम्न आदेश चलाने का प्रयास करें:

mongod --fork --syslog

3
2017-07-26 01:37





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


0
2017-07-06 04:45





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


0
2017-07-06 05:37