child_process模块用来启动一个新的进程,一般用在处理一些定时执行的操作
有两种方法来启动一个新进程
spawn()
执行的命令必须是一个实际存在的可执行文件
exec()
执行的命令和在命令行执行的命令一样
可以指定maxBuffer参数,默认为200KB,如果子进程大于这个值,会抛出Error:stdout maxBuffer exceeded异常,并结束该子进程
var child_process = require('child_process');
if(process.platform === 'win32'){
var dir = child_process.spawn(process.execPath,[__dirname+'/test.js']);
}else{
var dir = child_process.spawn('dir',[__dirname+'/test.js']);
}
dir.stdout.pipe(process.stdout);
dir.stderr.pipe(process.stderr);
dir.on('close',function(code){
console.log('进程'+code+'结束');
});
详细的使用方法可以访问
https://nodejs.org/api/child_process.html