奇怪的是,同样的代码之前已经工作过。 看来当我现在运行下面的代码时,我没有得到回调。控制台日志均不起作用。但是,如果我运行“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);
});
});
最佳答案
您确定 mongod 在执行该命令后将自己置于后台吗?听起来它在前台运行,导致进程永远不会退出(这就是为什么你的回调永远不会被调用)。
关于javascript - 奇怪的执行问题 - 标准输出未显示 - 回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23953527/