首页 Node.js核心模块手册

参数说明


spawn(command, args, options)
command                        字符串        需要运行的命令
args                   可选       数组          命令需要的参数
options               可选       对象数组    开启子进程使用地选项

返回值:对象,子进程。参考ChildProcess



options相关属性(可选):
cwd:字符串,指定子进程工作目录,绝对或相对路径
stdio:字符串、数组(最多3个元素),设置子进程的标准输入输出
          数组时有效值:
          默认值:null、undefined
          正整数:指定父进程被打开的文件描述符
          pipe:在父进程与子进程之间创建管道,父进程通过ChildProcess对象方法,stdio[0]表示标准输入,stdio[1]表示标准输出,stdio[2]表示标准错误
          ipc:在父进程与子进程之间创建一个传递消息或文件描述符的IPC通道
          ignore:不为子进程设置文件描述符
          Stream:对象,指定父进程与子进程共享一个终端设备、文件、端口、管道
          inherit:父进程与子进程共享标准输入输出
          注:1.字符串{stdio:"pipe"} 相等于设置数组{stdio:["pipe","pipe","pipe"]}
                2.数组3个元素分别表示,标准输入、标准输出、标准错误
customFds:
env:对象,指定子进程的环境变量
detached:布尔,默认false。true子进程为进程组领头进程,如果父进程不存在时,子进程可以独立存在
uid:数值,设置子进程的用户ID(非windows有效)
gid:数组,设置子进程组ID(非windows有效)

示例


主进程:文件名 a.js
var cp = require("child_process");
var sp = cp.spawn("node", ["b.js"]);   //开启子进程,运行b.js文件

sp.on("exit", function(code, signal){
  console.log("子进程关闭");
});

sp.stdout.on("data", function(data){  //子进程标准输出需要父进程接收
  console.log("接收到子进程消息:"+data);
});



子进程:文件名 b.js
process.stdout.write("www.liboke.cn");  //子进程,使用标准输出信息到父进程中