Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的执行问题-标准输出不显示-回调不工作_Javascript_Node.js_Exec_Child Process - Fatal编程技术网

Javascript 奇怪的执行问题-标准输出不显示-回调不工作

Javascript 奇怪的执行问题-标准输出不显示-回调不工作,javascript,node.js,exec,child-process,Javascript,Node.js,Exec,Child Process,奇怪的是,这段代码以前也用过。 当我现在运行下面的程序时,似乎没有收到任何回调。所有控制台日志都无法工作。然而,如果我运行“ls”而不是mongo,例如,它工作得很好,类似地,如果我编写mongod-gfsssl之类的东西(应该显示一个错误),我确实会得到一个错误。另外,如果我在终端中运行与下面相同的命令,它将正常运行 var sys = require('sys'); var exec = require('child_process').exec; var nodemon = require

奇怪的是,这段代码以前也用过。 当我现在运行下面的程序时,似乎没有收到任何回调。所有控制台日志都无法工作。然而,如果我运行“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
将自己置于后台吗?这听起来像是在前台运行,导致进程永远不会退出(这就是为什么从不调用回调)。

这听起来对我来说是正确的,让我想知道它以前是如何工作的,是否有必要触发它,然后在mongodb服务器启动时触发回调?我应该帮助你。