child_process模块给予Node可以随意创建子进程(child_process)的能力。
一、有如下4个方法用于创子进程:
- spawn():启动一个子进程来执行命令。
- exec():启动一个子进程来执行命令,与spawn()不同的是其接口不同,它有一个回调函数获知子进程的状况。
- execFile():启动一个子进程来执行可执行文件。
- fork():与spawn()类似,不同点在于它创建Node的子进程只需指定要执行的JavaScript文件模块即可。
二、各个方法之间的区别:
- spawn()与exec()、execFile()不同的是,后两者创建时可以指定timeout属性,设置超时时间, 一旦创建的进程运行超过设定的时间将会被杀死。
- exec()与execFile()不同的是,exec()适合执行已有的命令,execFile()适合执行文件。
var cp = require(child一process1); cp.spawn('node', [ 'worker.js']); cp.exec('node worker.js', function (err, stdout, stderr) { // some code }); cp.execFile('worker.js', function (err, stdout, stderr) { // some code }); cp.fork('./worker.js');