2013-02-18 3 views
0

MongoDB 데이터베이스가있는 Node.JS 서버가 있습니다. 다음과 같이 내가 Node.js를 내 데이터베이스를 시작 mongod 결코 반환하지 않기 때문에데이터베이스가 시작될 때 감지

(function startDatabase() { 
    exec('killall -15 mongod; mongod --dbpath ./db', function (err, stdout, stderr) { 
     if(err) { 
      console.error('Database error! Aborting.'); 
      process.exit(1); 
     } 
    }); 
}()); 

이 방법의 문제는 내가 데이터베이스가 시작되었는지 알 방법이 없다는 것입니다 (오류가 아닌 경우), 그래서 나는 결코 stdout을 볼 수 없다.

Node.JS에서 MongoDB 데이터베이스를 시작하고 시작될 때 어떻게 검색합니까?

+0

'exec ('ps aux | grep mongod')'를 실행하고 그 결과를 감지 할 수 있습니다. pid를 다시 얻고'ps'를 사용하여 프로세스가 실행 중인지 확인할 수도 있습니다. – Sammaye

+0

시스템이 서비스를 관리하는 방법을 제공하지 않는다는 것은 이상한 일입니다. 시스템이 무엇입니까? – Floby

+0

OS 란 무엇입니까? Red Hat EL 6입니다. – Randomblue

답변

-1

당신은 할 수 있습니다 :

service mongod status //check status 
service mongod start  //start 
service mongod stop  //stop 
service mongod restart //restart 

또는 대신 startDatabase /etc/init.d/mongod

service mongod의 서비스를 죽이고 다음 시작되지 service mongod start를 사용해야합니다. 정상적으로 닫히지 않고 데이터/손상된 파일을 풀 수 있습니다. 다시 시작하려면 service mongod restart을 사용하십시오. 상태를 확인하여 중지하거나 다시 시작하십시오.

관련 문제