产生子进程不在节点js中退出

spawn child process not exiting in node js

我正在尝试使用以下代码在节点 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." );
}
})

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

你应该使用 IPC 进行主控 <-> 子级通信见 https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_event_message and https://nodejs.org/dist/latest-v6.x/docs/api/process.html#process_process_send_message_sendhandle_options_callback