spawn()
启动一个子进程来执行命令。进程类型任意
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`子进程退出码:${code}`);
});
exec()
启动一个子进程来执行命令,但可以有一个回调函数获取子进程的一些情况。可以设置超时时间。进程类型任意
// 就像平时使用命令行那样
const { exec } = require('child_process');
exec('cat *.js bad_file | wc -l', (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
execFile()
启动一个子进程来执行可执行文件,可以设置超时时间,进程类型任意
const { execFile } = require('child_process');
const child = execFile('node', ['--version'], (error, stdout, stderr) => {
if (error) {
throw error;
}
console.log(stdout);
});
fork()
直接fork js文件。进程类型node
node文档的一些说明