在 Node.js 中,child_process 模块提供了可以创建子进程的能力,类似于 linux 中的 popen。通过子进程,你可以去执行操作系统上的命令。另外,child_process 还提供了执行其他 js 文件的特性。
child_process 模块中,最主要的特性就是创建子进程,其提供了四种创建子进程的方法:exec、execFile、fork、spawn。当然这四种方式都是异步的创建子进程的方式,除了 fork 没有对应同步方法,其他对应的同步方法为:execSync、execFileSync、spawnSync。至于为什么 fork 没有同步方法,等介绍完这四种方式的含义后,相信你就会很清楚了。
exec
语法:child_process.exec(command[, options][, callback])
这里的第一个参数 command 就是在 shell 中执行的命令;options 可以设置与执行命令相关的参数,如:cwd(当前工作目录)、shell(执行命令的shell)、uid、gid、encoding等;callback 在命令执行完调用,可通过回调函数的 stdout 获取命令输出。options 和 callback 都是可选参数。比如想在 /Usrs/ben 目录下执行 “ls -l”,那么代码如下:
const { exec } = require('child