使用 child_process 模块从 Node.js 执行第三方命令行二进制文件非常简单。
使用 exec 进行完整输出
至执行命令并检索其完整输出,请使用 child_process.exec:
const { exec } = require('child_process'); exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => { if (err) return; console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); });
使用spawn进行流输出
要使用流处理进程 I/O,请使用child_process.spawn:
const { spawn } = require('child_process'); const child = spawn('prince', [ '-v', 'builds/pdf/book.html', '-o', 'builds/pdf/book.pdf' ]); child.stdout.on('data', (chunk) => { // Output chunks are received here });
使用 execFile可执行文件
要执行可执行文件而不是命令,请使用 child_process.execFile:
const { execFile } = require('child_process'); execFile(file, args, options, (err, stdout, stderr) => { // Output is retrieved in stdout });
同步函数
用于同步执行时,Node.js 提供了这些的同步对应物方法:
它们不会像异步那样返回 ChildProcess 实例
注意: 对于 Node.js 版本 0.11.12 及更高版本,以上示例适用。对于早期版本,请参阅提供的答案中包含的旧代码。
以上是如何使用'child_process”在 Node.js 中执行命令行二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!