Node.js 提供了
exec
和
execSync
两个函数来执行系统命令。
exec
函数是异步执行系统命令,它会立即返回一个
ChildProcess
对象,并在命令执行完成后调用回调函数。
execSync
函数是同步执行系统命令,它会阻塞 Node.js 的事件循环直到命令执行完成,然后返回执行结果。
两者的用法类似,都可以传入一个字符串表示要执行的命令,并可以通过配置对象来指定执行环境、输入输出等选项。
例如,以下代码使用
exec
函数执行
ls -l
命令:
const { exec } = require('child_process');
exec('ls -l', (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
使用 execSync 函数的代码类似,只是将 exec 替换为 execSync 即可。
注意,因为 execSync 函数是同步执行的,所以它不支持回调函数。在执行结束后,可以通过返回值获取命令的输出。
const { execSync } = require('child_process');
const result = execSync('ls -l');
console.log(result.toString());
程序媛李李李李李蕾