奇怪的是,这个代码以前一直有效。 看来,当我现在运行以下时,我没有得到回调。没有控制台日志有效。但是如果我跑了" ls"而不是mongo例如它工作正常,类似如果我写像mongod -gfsssl(应该显示错误)我确实得到一个错误。此外,如果我在终端中运行与下面相同的命令,它运行正常。
var sys = require('sys');
var exec = require('child_process').exec;
var nodemon = require('nodemon');
exec('mongod --dbpath="./data"', function(error, stdout, stderr) {
console.log(stderr);
console.log(error);
console.log(stdout);
nodemon({
script: 'app/server.js',
ext: 'js'
});
nodemon.on('start', function () {
console.log('App has started');
}).on('quit', function () {
console.log('App has quit');
}).on('restart', function (files) {
console.log('App restarted due to: ', files);
});
});
答案 0 :(得分:1)
执行该命令后,您确定mongod
将自己置于后台吗?听起来它正在前台运行,导致进程永不退出(这就是为什么你的回调永远不会被调用)。