하나의 명령어로 mongo DB를 중지하는 방법
CLI에서 MongoDB를 시작/정지할 수 있어야 합니다.시작은 매우 간단합니다.
./mongod
그러나 mongo DB를 중지하려면 먼저 open mongo shell을 실행하고 다음 두 개의 명령을 입력해야 합니다.
$ . / mongo
admin 사용
db.shutdown Server()
그래서 어떻게 mongo DB를 한 줄로 멈출지 모르겠어요.도움이 필요하신가요?
MongoDB의 기동과 정지는 MongoDB 매뉴얼에 기재되어 있습니다.셸, CLI, 드라이버 등을 통해 MongoDB를 정지하는 다양한 옵션에 대해 설명합니다.또한 MongoDB(데이터 손상 등)를 잘못 정지할 경우의 위험과 다양한 킬 신호에 대해서도 자세히 설명합니다.
또한 Ubuntu 또는 Debian 패키지 매니저를 사용하여 MongoDB를 설치한 경우 다음과 같이 mongodb(현재 ubuntu의 mongod)를 중지할 수 있습니다.
★★★★★★★★★★★★★★★:
sudo service mongod stop
★★★★★★★★★★★★★★★★★:
sudo /etc/init.d/mongod stop
PID를 사용합니다.
$ top
에 의해 프로세스를 종료합니다.
$ kill <PID>
(Mongo documents에 더 많은 정보가 있습니다.)
service mongod stop
또는 Windows 에, 라고 하는 이름의 서비스로 인스톨 하고 있는 경우는,MongoDB
:
net stop MongoDB
또, Windows 7+ 의 시점에서 서비스로 인스톨 되어 있지 않은 경우는, 다음의 조작을 실행할 수 있습니다.
taskkill /f /im mongod.exe
부정한 셧다운의 문제, 그러한 상황을 회피하는 최선의 방법, 부정한 셧다운이 발생했을 경우의 대처 방법에 대해서는, 다음을 참조해 주세요.예기치 않은 종료 후 데이터 복구
원래 질문의 명령어와 동일한 한 줄을 사용할 경우 다음 에일리어스를 지정할 수 있습니다.
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
서비스를 통해 MongoDB를 시작 및 중지하는 것에 대한 Mark의 답변은 보다 일반적인(그리고 권장되는) 관리 접근법입니다.
mongod --dbpath /path/to/your/db --shutdown
자세한 것은, http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ 를 참조해 주세요.
서버가 단말기에서 포그라운드프로세스로서 실행되고 있는 경우는, 를 눌러 실행할 수 있습니다.
Ctrl-C
실행 중인 서버를 완전히 셧다운하는 다른 방법은 shutdown 명령어를 사용하는 것입니다.
> use admin
> db.shutdownServer();
그렇지 않으면 kill과 같은 명령을 사용하여 신호를 보낼 수 있습니다.mongod의 PID가 10014인 경우 명령어는 다음과 같습니다.
kill -2 10014
MongoDB 공식 문서에 따라 신호 정지에 대해 확인했습니다.다음 명령어 중 하나를 사용할 수 있습니다(PID는Process ID
mongod
★★★★★★★★★★★★★★★★★★:
kill PID
시그널 15(SIGTERM)를 송신하거나
kill -2 PID
시그널 2(SIGINT)를 송신합니다.
MongoDB 문서의 경고:
사용하지 .kill -9
SIGKILL을mongod
★★★★★★ 。
PID에 없는 PID를 사용할 수 .pkill
에 신호를 보내다mongod
★★★★★★★★★★★★★★★★★★:
pkill mongod
또는
pkill -2 mongod
또는 훨씬 더 안전한 방법으로, 오직 당신 소유의 프로세스에만 의존할 수 있습니다.
pkill -U $USER mongod
또는
pkill -2 -U $USER mongod
이 있는 는 ": DB"를 사용하여 합니다.sudo
§:
sudo pkill mongod
sudo pkill -2 mongod
PS
신호 : 신호 사용: 신호 사용.mongod --shutdown
현재의 MongoDB 매뉴얼에 기재되어 있습니다만, 제 머신에서는 동작하지 않습니다(macOS, mongodb v3.4.10, 설치 완료).homebrew
Error parsing command line: unrecognised option '--shutdown'
업데이트 2022-05-10
옵션 " " " "''--shutdown
에는 "이러다"로되어 있습니다.Supported on Linux only
PPS
(macOS 고유) 다른 사람이 궁금해하기 전에: 아니요, 명령으로 멈출 수 없었습니다.
brew services stop mongodb
왜냐하면 나는 그것을 로 시작하지 않았기 때문이다.
brew services start mongodb
i i i i i i i i i imongod
라인를 합니다.
mongod --shutdown
공식 문서에 따르면 manage-mongodb-processes/
:D
mongostop이라는 파일을 만듭니다.박쥐
다음 코드를 저장합니다.
mongo admin --eval "db.shutdownServer()"
mongostop.bat 파일을 실행하면 mongo가 정상적으로 정지됩니다.
특별한 경우는 다음과 같습니다.
mongod를 시작하기 전에:
sudo -u mongod mongod -f /etc/mongod.conf
하고 싶다mongod
.
공식 문서인 "Stop mongod Processes" (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) 이전 시작 명령어 추가 --command:
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
마지막으로 몽고드를 멈추세요
# sudo mongod -f /etc/mongod.conf --shutdown
killing process with pid: 30213
지금까지의 근본 원인: 아직 불명...
위의 솔루션이 유용하기를 바랍니다.
Stennie의 답변을 바탕으로 합니다.
mongo --eval "db.getSiblingDB('admin').shutdownServer();quit()"
서버 셧다운 후 mongo가 db에 재접속하려고 하면 지연과 에러 메시지가 발생한다는 것을 알게 되었습니다.셧다운 후에 quit()을 추가하면 속도가 빨라지고 메시지가 감소하지만 메시지는 여전히 존재합니다.
콘텍스트를 추가하고 싶습니다.다른 코드의 테스트 케이스로 mongod를 기동 및 정지하고 있기 때문에 서비스로 등록하는 것은 사용 케이스에 맞지 않습니다.최종적으로 모든 플랫폼에서 실행할 수 있는 것을 희망하고 있습니다(이것은 현재 윈도우에서 테스트되고 있습니다).mongod 3.6.9를 사용하고 있습니다.
명령줄을 사용하여 mongodb 서비스를 시작 또는 중지하기 위한 라이너 1개
- 서비스를 시작하려면:
NET START MONGODB
- 서비스 사용을 중지하려면:
NET STOP MONGODB
내가 직접 써봤는데, 작동되네.
주어진 명령어로는 Linux를 사용하고 있는 것 같습니다.
MongoDB 시작:
$ sudo service mongod start
mongod start/running, process XXXXX
상태를 확인합니다.
$ sudo service mongod status
mongod start/running, process XXXXX
MongoDB 중지:
$ sudo service mongod stop
mongod stop/waiting
홈브루 사용(권장 방법):
시작하려면:
brew services start mongodb-community
중지하려면:
brew services stop mongodb-community
저는 그냥 했어요:
quit();
mongo 3.0을 사용하고 있습니다.
Mac의 터미널 창에서 control+c를 누릅니다.
Ubuntu에서 사용하는 부팅 스크립트입니다.
#!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Sart:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
. /lib/lsb/init-functions
PROGRAM=/opt/mongo/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`
test -x $PROGRAM || exit 0
case "$1" in
start)
log_begin_msg "Starting MongoDB server"
ulimit -v unlimited.
ulimit -n 100000
/opt/mongo/bin/mongod --fork --quiet --dbpath /data/db --bind_ip 127.0.0.1 --rest --config /etc/mongod.conf.
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac
exit 0
창문들
PowerShell의 특징은 다음과 같습니다.Stop-Service MongoDB
다시 시작하려면:Start-Service MongoDB
시작 여부를 확인하려면 다음을 수행합니다.net start | findstr MongoDB
.
메모: 위에서는 MongoDB가 서비스로 등록되어 있는 것을 전제로 하고 있습니다.
사용하시는 OS에서 제공하는 태스크 매니저를 이용하여 빠르고 쉽게 해결하시기 바랍니다.Windows 10 의 스크린 그래브를 이하에 나타냅니다.강조 표시된 프로세스를 마우스 오른쪽 버튼으로 클릭하고 중지를 선택합니다.이미 중지된 경우 시작을 선택합니다.
주의사항:내부적으로 명령어는 Windows/사용 OS에서 제공되는 GUI(태스크 매니저)를 사용하여 수동으로 수행해야 하는 것과 동일한 작업을 수행합니다. 다만, 이 어프로치를 학습/연습의 목적으로 사용하기 때문에, 이것에 의해서 막히는 일은 없습니다.
sudo /etc/init.d/mongodb start를 시작하려면
sudo /etc/init.d/mongodb stop을 중지하려면
CTRL + C
Windows 명령줄에서
언급URL : https://stackoverflow.com/questions/11774887/how-to-stop-mongo-db-in-one-command
'programing' 카테고리의 다른 글
옵션인 "WHERE" 매개 변수가 있는 저장 프로시저 (0) | 2023.02.13 |
---|---|
리소스 서비스를 사용할 때 매개 변수를 전달하는 방법 (0) | 2023.02.13 |
Wordpress DB의 어디에 wp_cron 태스크가 저장됩니까? (0) | 2023.02.13 |
Python의 tilde 연산자 (0) | 2023.01.27 |
gcc는 인수 없이 정의된 함수에 인수를 전달할 수 있도록 하는 이유는 무엇입니까? (0) | 2023.01.27 |