ম্যাক ওএস এক্সে মঙ্গোদ বন্ধ করার একটি পরিষ্কার উপায় কী?


88

আমি মঙ্গো ১.৮.২ চালাচ্ছি এবং ম্যাকের মাধ্যমে কীভাবে পরিষ্কারভাবে এটি বন্ধ করতে হয় তা দেখার চেষ্টা করছি।

আমাদের উবুন্টু সার্ভারগুলিতে আমি মঙ্গো শেল থেকে মঙ্গো পরিষ্কার করে বন্ধ করতে পারি:

> use admin
> db.shutdownServer()

তবে আমার ম্যাকে এটি মঙ্গড প্রক্রিয়াটিকে হত্যা করে না। আউটপুট দেখায় যে এটি 'ডাউন' হওয়া উচিত তবে যখন আমি পিএস-শেফ করব গ্রেপ মঙ্গো এটি আমাকে একটি সক্রিয় প্রক্রিয়া দেখায়। এছাড়াও, আমি এখনও একটি মঙ্গো শেল খুলতে পারি এবং আমার ডিবিএসকে জিজ্ঞাসা করতে পারি যেমন এটি কখনও বন্ধ হয়নি।

স্থানীয়ভাবে আমার db.shutdownServer () থেকে আউটপুটটি হ'ল:

MongoDB shell version: 1.8.2
connecting to: test
> use admin                  
switched to db admin
> db.shutdownServer()
Tue Dec 13 11:44:21 DBClientCursor::init call() failed
Tue Dec 13 11:44:21 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1
server should be down...
Tue Dec 13 11:44:21 trying reconnect to 127.0.0.1
Tue Dec 13 11:44:21 reconnect 127.0.0.1 failed couldn't connect to server 127.0.0.1
Tue Dec 13 11:44:21 Error: error doing query: unknown shell/collection.js:150

আমি জানি আমি কেবল প্রক্রিয়াটি মারতে পারি তবে আমি আরও পরিষ্কারভাবে এটি করতে চাই।


আপনি কিভাবে শুরু করেছেন mongod? খোল খালি? ব্যবহার করছেন launchctl?
dcrosta

লগগুলি থেকে আপনার কোনও তথ্য আছে? এটি হতে পারে যে মঙ্গোডিবি "স্বতঃ-পুনঃসূচনা"। আপনি সাথে চালাতে চাইতে পারেন --logappend, যদিও একেবারে নতুন লগ ফাইল প্রক্রিয়াটি পুনরায় শুরু হওয়ার একটি স্পষ্ট ইঙ্গিত।
গেটস ভিপি

উত্তর:


175

এটি সম্ভবত কারণ লঞ্চেক্টেলটি আপনার মঙ্গড উদাহরণটি পরিচালনা করছে। আপনি যদি মঙ্গোদ উদাহরণটি শুরু করতে এবং বন্ধ করতে চান তবে প্রথমে এটি আনলোড করুন:

launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

তারপরে ম্যানগোড ম্যানুয়ালি শুরু করুন:

mongod -f path/to/mongod.conf --fork

আপনি আপনার mongod.conf অবস্থানটি খুঁজে পেতে পারেন ~/Library/LaunchAgents/org.mongodb.mongod.plist

এর পরে, db.shutdownServer()ঠিক কাজ করবে।

22 ফেব্রুয়ারী 2014 যোগ করা হয়েছে:

আপনি যদি হোমব্রিউয়ের মাধ্যমে মঙ্গডব ইনস্টল করেন তবে হোমব্রিউয়ের আসলে একটি হ্যান্ডি brew servicesকমান্ড রয়েছে। চলমান চলমান পরিষেবাগুলি দেখানোর জন্য:

brew services list

মংডব শুরু করতে:

brew services stop mongodb-community

যদি ইতিমধ্যে চলমান হয় তবে মংডব বন্ধ করতে:

brew services stop mongodb-community

হালনাগাদ

হিসাবে edufinn মন্তব্যে উল্লেখ, brew servicesএখন ব্যবহারকারী-সংজ্ঞায়িত কমান্ড হিসাবে পাওয়া যায় এবং নিম্নলিখিত কমান্ড দিয়ে ইনস্টল করা যেতে পারে: brew tap gapple/services


23
যদি কেউ আগ্রহী হয় তবে বর্তমানে আপনি যদি হোমব্রিউয়ের মাধ্যমে মংডোড ইনস্টল করে থাকেন তবে launchctl stop homebrew.mxcl.mongodbমোংডব বন্ধ করতে আসলে আপনার প্রয়োজন হবে ।
টাইলার ব্রক

4
2014 সালের সেপ্টেম্বর হিসাবে, এই brewবিষয়ে অবচয়ের বিজ্ঞপ্তি রয়েছে brew services:$ brew services Warning: brew services is unsupported and will be removed soon.
পাবলো নাভারো

4
2014 সালের ডিসেম্বর হিসাবে, brew servicesসরানো হয়েছে। $ brew services Error: Unknown command: services
হিউজেস

6
brew servicesএখন ব্যবহারকারী-সংজ্ঞায়িত কমান্ড হিসাবে পাওয়া যায় এবং নিম্নলিখিত কমান্ড দিয়ে ইনস্টল করা যেতে পারে: brew tap gapple/services
এডুফিন

4
আমি মোংডব পরিষেবা শুরু করার পরে, আমার নোড সার্ভার এটিতে সংযোগ করতে অক্ষম। তবে আমি যদি কমান্ড লাইন থেকে মঙ্গোদব শুরু করি তবে এটি ঠিক আছে। আমার ধারণা এটি অবশ্যই পোর্ট ইস্যুতে হবে .. পরিষেবাটি শুরু করার সময় পোর্টটি কীভাবে সেট করবেন?
প্রভিণ

35

আপনি যদি হোমব্রু দিয়ে মঙ্গোদব ইনস্টল করেন তবে একটি সহজ উপায় আছে:

লঞ্চাক্টেল সহ মোঙ্গো কাজের তালিকা করুন:

launchctl list | grep mongo

মঙ্গো কাজ বন্ধ করুন:

launchctl stop <job label>

(আমার জন্য এটি launchctl stop homebrew.mxcl.mongodb)

মঙ্গো কাজ শুরু করুন:

launchctl start <job label>

24

সহজ উপায় হ'ল মংডব্বের প্রক্রিয়া আইডি পাওয়া এবং এটি হত্যা করা। দয়া করে নোট করুন এটির জন্য কিল -9 পিড ব্যবহার করবেন না কারণ এটি ডাটাবেসের ক্ষতি হতে পারে।

সুতরাং, 1. মংডোব এর পিড পান

g পিগ্রেপ মঙ্গো

আপনি এখন মঙ্গোর পিড পাবেন

$ হত্যা

আপনি কিল -15 পাশাপাশি ব্যবহার করতে পারেন


8

আপনি যদি হোমব্রুয়ের মাধ্যমে মোংডব কমিউনিটি সার্ভারটি ইনস্টল করেন তবে আপনি এটি করতে পারেন:

brew services list

এটি নীচের হিসাবে বর্তমান পরিষেবাদি তালিকাবদ্ধ করবে:

Name              Status  User          Plist
mongodb-community started thehaystacker /Users/thehaystacker/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

redis             stopped

তারপরে আপনি প্রথমে থামিয়ে পুনরায় চালু করে মঙ্গোদব পুনরায় চালু করতে পারেন:

brew services stop mongodb
brew services start mongodb

4

আমি portনিজে কমান্ডটি ব্যবহার করে মঙ্গোডিবি সার্ভারটি বন্ধ করতে পছন্দ করি ।

sudo port unload mongodb

এবং এটি আবার শুরু করতে।

sudo port load mongodb

3

এই দস্তাবেজগুলি দেখুন:

http://www.mongodb.org/display/DOCS/Starting+and+Sopping+ Mongo#StartingandShoppingMongo-SendaUnixINTorTERMsignal

আপনি যদি এটি কোনও টার্মিনালে শুরু করে থাকেন তবে আপনার এটির সাথে ঠিক থাকা উচিত ctrl + 'c'- এটি একটি ক্লিন শাটডাউন করবে।

তবে, আপনি যদি লঞ্চাক্টেল ব্যবহার করছেন তবে এর জন্য নির্দিষ্ট নির্দেশাবলী রয়েছে যা এটি কীভাবে ইনস্টল করা হয়েছিল তার উপর নির্ভর করে পরিবর্তিত হবে।

আপনি যদি হোমব্রু ব্যবহার করছেন তবে এটি হবে launchctl stop homebrew.mxcl.mongodb


1

এটি একটি পুরানো প্রশ্ন, তবে এটি অনুসন্ধানের সময় আমি খুঁজে পেয়েছি।

আপনি যদি ইনস্টল করেন brewতবে সমাধানটি আসলে এটি হ'ল:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist


0

যদি পরিষেবাটি ব্রিউয়ের মাধ্যমে চলমান থাকে তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি বন্ধ করতে পারেন:

brew services stop mongodb

0

অন্যদের সরবরাহিত সমাধানগুলি আমার পক্ষে কাজ করে তবে আমার পক্ষে আর কাজ করছে না, যা নীচের মত।

brew services stop mongodb
brew services start mongodb

brew services list দেয়

Name              Status  User      Plist
mongodb-community started XXXXXXXXX /Users/XXXXXXXXX/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

সুতরাং আমি এর mongodb-communityপরিবর্তে mongodbআমার জন্য কাজ করেছি

brew services stop mongodb-community
brew services start mongodb-community
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.