node 子进程

使用node的child_process模块的fork函数可以在父进程和子进程之间建立一个IPC管道,用于父子进程之间的通信。

main.js

var childProcess = require('child_process');
var main = childProcess.fork('./son.js');

var data = {
    a:'12',
    b:'34'
}

main.on('message', function(msg) {
  console.log('父进程监听到: ', msg);
});
console.log(data);
console.log('发给子进程...');
main.send(data);

son.js

process.on('message', function(msg) {
    console.log('子进程监听到:');
    console.log(msg);
    msg.a = msg.a + '来自子进程';
    console.log('发回父进程...');
    process.send(msg);
    process.exit();
});

如果不使用process.exit()那么在运行完子进程之后不会自动结束,如果父进程是可以继续输入数据的话,可以一直处理数据并返回结果。

原文地址:https://www.cnblogs.com/lswit/p/5121163.html