กรณีพิเศษของฉันคือ:
ก่อนหน้านี้เริ่ม mongod โดย:
sudo -u mongod mongod -f /etc/mongod.conf
mongod
ตอนนี้ต้องการที่จะหยุด
และอ้างอิง doc doc mongodอย่างเป็นทางการได้ลอง:
(1) shutdownServer
แต่ล้มเหลว:
> use admin
switched to db admin
> db.shutdownServer()
2019-03-06T14:13:15.334+0800 E QUERY [thread1] Error: shutdownServer failed: {
"ok" : 0,
"errmsg" : "shutdown must run from localhost when running db without auth",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1
@(shell):1:1
(2) --shutdown
ยังคงล้มเหลว:
# mongod --shutdown
There doesn't seem to be a server running with dbpath: /data/db
(3) คำสั่งเริ่มต้นก่อนหน้าเพิ่ม --shutdown:
sudo -u mongod mongod -f /etc/mongod.conf --shutdown
killing process with pid: 30213
failed to kill process: errno:1 Operation not permitted
(4) ใช้service
เพื่อหยุด:
service mongod stop
และ
service mongod status
แสดงคาดว่าActive: inactive (dead)
แต่mongod
ที่จริงยังคงทำงานเพื่อสามารถเห็นกระบวนการจาก PS:
# ps -edaf | grep mongo | grep -v grep
root 30213 1 0 Feb04 ? 03:33:22 mongod --port PORT --dbpath=/var/lib/mongo
และสุดท้ายหยุด mongod จริงๆโดย:
# sudo mongod -f /etc/mongod.conf --shutdown
killing process with pid: 30213
จนถึงตอนนี้สาเหตุที่แท้จริง: ยังไม่ทราบ ...
ความหวังการแก้ปัญหาข้างต้นมีประโยชน์สำหรับคุณ
sudo service mongodb [start|stop|restart|status]
ผมเชื่อว่าเพื่อให้การบริการที่เป็นsudo service stop mongodb
ผลลัพธ์ใน: หยุด: บริการที่ไม่รู้จัก