Mac OS X에서 mongod를 멈추는 깨끗한 방법은 무엇입니까?
mongo 1.8.2를 실행하고 있는데 Mac에서 완전히 종료하는 방법을 알아보려고 합니다.
ubuntu 서버에서는 다음과 같이 mongo 쉘에서 mongo를 완전히 셧다운할 수 있습니다.
> use admin
> db.shutdownServer()
제 Mac에서는 mongod 프로세스를 종료하지 않습니다.출력에는 shutdown이 '필요'하지만 i ps -ef | grep mongo에서는 액티브한 프로세스가 표시됩니다.또한, 나는 여전히 mongo 쉘을 열고 내 dbs를 셧다운되지 않은 것처럼 조회할 수 있다.
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
그냥 프로세스를 없앨 수 있다는 걸 알지만 좀 더 깨끗하게 하고 싶어요
launchctl이 mongod 인스턴스를 관리하고 있기 때문일 것입니다.mongod 인스턴스를 시작 및 셧다운하려면 먼저 언로드합니다.
launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
그런 다음 mongod를 수동으로 시작합니다.
mongod -f path/to/mongod.conf --fork
mongod.conf의 위치는 다음 URL에서 확인할 수 있습니다.~/Library/LaunchAgents/org.mongodb.mongod.plist
.
그 후로는db.shutdownServer()
잘 될 거야
2014년 2월 22일 추가:
홈브루를 통해 mongodb를 설치한 경우 홈브루는 실제로 핸디캡을 수 있습니다.brew services
명령어를 입력합니다.현재 실행 중인 서비스를 표시하려면:
brew services list
mongodb를 시작하려면:
brew services start mongodb-community
이미 실행 중인 경우 mongodb를 중지하려면:
brew services stop mongodb-community
갱신*
edufinn이 댓글에서 지적했듯이brew services
는 사용자 정의 명령어로 사용할 수 있게 되어 다음 명령을 사용하여 설치할 수 있습니다.brew tap gapple/services
.
mongodb를 홈브루와 함께 설치했다면 더 쉬운 방법이 있습니다.
launchctl을 사용하여 mongo 작업을 나열합니다.
launchctl list | grep mongo
mongo 작업 중지:
launchctl stop <job label>
(나에게 이것은)launchctl stop homebrew.mxcl.mongodb
)
mongo 작업 시작:
launchctl start <job label>
간단한 방법은 mongodb의 프로세스 ID를 가져와 죽이는 것입니다.데이터베이스가 손상될 수 있으므로 kill -9 pid를 사용하지 마십시오.
그래서 1. mongodb의 pid를 구한다.
$pgrep mongo
너는 지금 mongo의 pid를 얻을 것이다.
$kill
Kill - 15도 사용할 수 있습니다.
homebrew를 사용하여 mongodb 커뮤니티 서버를 설치한 경우 다음 작업을 수행할 수 있습니다.
brew services list
현재 서비스가 다음과 같이 나열됩니다.
Name Status User Plist
mongodb-community started <your_user_name> /Users/<your_user_name>/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
redis stopped
그런 다음 mongodb를 먼저 중지하고 다시 시작하면 됩니다.
brew services stop mongodb
brew services start mongodb
MongoDB 서버를 중지하는 것이 좋습니다.port
명령어를 사용합니다.
sudo port unload mongodb
그리고 다시 시작하기 위해서.
sudo port load mongodb
다음 문서를 확인하십시오.
단말기로 기동했을 경우,ctrl + 'c'
-- 이렇게 하면 완전히 셧다운됩니다.
다만, launchctl 를 사용하고 있는 경우는, 인스톨 방법에 따라서, 구체적인 순서가 다릅니다.
하고 있다면 입니다.launchctl stop homebrew.mxcl.mongodb
타사에서 제공하는 솔루션은 이전에는 나에게 효과가 있었지만, 현재는 효과가 없는 아래와 같습니다.
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
오래된 질문이지만 검색하다가 발견한 질문입니다.
「 」를 는,brew
해결책은 실제로 다음과 같습니다.
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
서비스가 brew를 통해 실행되고 있는 경우 다음 명령을 사용하여 서비스를 중지할 수 있습니다.
brew services stop mongodb
언급URL : https://stackoverflow.com/questions/8495293/whats-a-clean-way-to-stop-mongod-on-mac-os-x
'source' 카테고리의 다른 글
Gson은 다형 객체 목록을 직렬화합니다. (0) | 2023.03.12 |
---|---|
커스텀 이미지 처리/관리 방법 (0) | 2023.03.12 |
키 값으로 JSON 필터링 (0) | 2023.03.07 |
전쟁 파일과 컨테이너가 내장된 실행 가능 항아리 전개에 대한 조언 (0) | 2023.03.07 |
어떤 컨트롤러에서 다른 피어 컨트롤러로 일부 데이터를 전달하려면 어떻게 해야 합니까? (0) | 2023.03.07 |