参数说明
fork(modulePath, args, options) modulePath 字符串 指定需要运行的文件,路径+文件名 args 可选 数组 指定运行文件需要的参数 options 可选 对象数组 指定子进程运行时使用的选项 返回值:对象,子进程。参考:ChildProcess options相关属性: cwd:字符串,指定子进程工作目录,绝对或相对路径 env:对象,指定子进程的环境变量 encoding:字符串,默认utf8,指定标准输出、标准错误的编码格式 silent:布尔,false:默认,子进程与父进程不共享标准输入输出,true:不共享 注: 1.fork()方法的子进程执行完代码后不会自动退出,必须使用process.exit()方法显式退出 2.子进程每个实列需要30毫秒开启,10M内存
示例
主进程:文件名 a.js
var cp = require("child_process");
var fo = cp.fork("a.js");
fo.on("exit", function(code, signal){
console.log("子进程关闭");
});
fo.on("message", function(data){
console.log("收到子进程数据:" + data.val);
process.exit();
});
fo.send({val:"我是liboke.cn"}); //向子进程发送数据
子进程:文件名 b.js
process.on("message", function(data){ //接收到父进程数据
process.send({val:"收到主进程数据:" + data.val}); //向父进程发送数据
process.exit(); //关闭子进程
});