spawn子进程不在节点js中退出

时间:2017-02-07 10:13:08

标签: node.js child-process

我正在尝试使用以下代码

在节点js中创建子进程

fileone.js

    var childProcess = require('child_process');

  var workerProcess = childProcess.spawn('node', ['api/filetwo.js', id]);
    workerProcess.stdout.on('data', function (data) {
     console.log('stdout: ' + data);
     //res.jsonp('hi output view in console');
    });

    workerProcess.stderr.on('data', function (data) {
       console.log('stderr: ' + data);
       res.jsonp('hi error occured');
    });

    workerProcess.on('close', function (code) {
       console.log('child process exited with code ' + code);
       res.jsonp('hi process closed');
    });

filetwo.js

console.log("file two called");

如果我运行这段代码,我会在控制台中收到消息并在客户端响应'hi process closed'。

我想在子进程中查询数据库,所以

filetwo.js

connection.query(query,function(error,result){
  if(error){
  console.log("error",error)
}else{
 console.log("result",result);
 console.log("Child Process " + process.argv[2] + " executed." );
}
})

我可以在终端看到两个控制台消息但我在客户端没有得到任何响应。我错过了什么,请帮助。