检测数据库何时启动

时间:2013-02-18 10:05:37

标签: node.js mongodb

我有一个带有MongoDB数据库的Node.JS服务器。我在Node.JS中启动数据库,如下所示:

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

这种方法的问题是我无法知道数据库是否已成功启动,因为mongod永远不会返回(除非出现错误),所以我永远不会看到stdout

如何在Node.JS中启动MongoDB数据库并检测它何时启动?

1 个答案:

答案 0 :(得分:-1)

你可以这样做:

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

或代替service mongod /etc/init.d/mongod

startDatabase应该使用service mongod start而不是终止服务然后启动。它不是优雅的关闭,你可以丢失数据/损坏的文件。如果要重新启动它,请使用service mongod restart。但检查状态是否停止或重新启动。