首页 Node.js核心模块手册

参数说明


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();  //关闭子进程
});