原文链接:MongoDB:关闭服务
MongoDB 提供几种关闭服务的命令,具体为以下:
一 使用 Crtl+C 关闭
[mongo@redhatB data]$ mongod –dbpath=/database/mongodb/data/ –logpath=/var/applog/mongo_log/mongo.log –logappend –port=27017 –journal > start_mongo.log 2>&1 光标:键入 Crtl+C 关闭 |
备注:如果以前台方式启动 MongoDB 服务,使用“Crtl+C” 服务会关闭,这种关闭方式会等待
当前进行中的的操作完成,所以依然是干净的关闭方式。
二 使用数据库命令关闭
–2.1 开启服务
[mongo@redhatB data]$ mongod -f /database/mongodb/data/mongodb_27017.conf forked process: 18155 all output going to: /var/applog/mongo_log/mongo.log child process started successfully, parent exiting |
–2.2 登陆数据库
[mongo@redhatB data]$ mongo MongoDB shell version: 2.2.1 connecting to: test |
–2.3 关闭 MongoDB 服务
> use admin; switched to db admin > db.shutdownServer(); |
三 使用 mongod 命令关闭
[mongo@redhatB data]$ mongod –shutdown –dbpath /database/mongodb/data/ killing process with pid: 17747 |
备注:mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务。
四 使用 kill 命令
–4.1 查看 mongo 相关进程
[mongo@redhatB data]$ ps -ef | grep mongo root 17573 14213 0 05:10 pts/1 00:00:00 su – mongo mongo 17574 17573 0 05:10 pts/1 00:00:00 -bash mongo 18288 1 0 06:12 ? 00:00:00 mongod -f /database/mongodb/data/mongodb_27017.conf mongo 18300 17574 6 06:13 pts/1 00:00:00 ps -ef mongo 18301 17574 0 06:13 pts/1 00:00:00 grep mongo |
–4.2 kill mongo 服务进程
[mongo@redhatB data]$ kill 18288 [mongo@redhatB data]$ ps -ef | grep pmon |
备注:可以使用操作系统的 kill 命令,给 mongod 进程发送 SIGINT 或 SIGTERM 信号,
即 “kill -2 PID,” 或者 “kill -15 PID“。
建议不要使用 ”kill -9 pid“,因为如果 MongoDB 运行在没开启日志(–journal)的情况下,
可能会造成数据损失。
五 参考
http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo
http://docs.mongodb.org/manual/reference/mongod/