首页 > web前端 > js教程 > 如何使用'child_process”在 Node.js 中执行命令行二进制文件?

如何使用'child_process”在 Node.js 中执行命令行二进制文件?

Mary-Kate Olsen
发布: 2024-12-05 16:55:12
原创
730 人浏览过

How Can I Execute Command Line Binaries in Node.js Using `child_process`?

使用 Node.js 执行命令行二进制文件

使用 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 提供了这些的同步对应物方法:

  • child_process.execSync
  • child_process.spawnSync
  • child_process.execFileSync

它们不会像异步那样返回 ChildProcess 实例

注意: 对于 Node.js 版本 0.11.12 及更高版本,以上示例适用。对于早期版本,请参阅提供的答案中包含的旧代码。

以上是如何使用'child_process”在 Node.js 中执行命令行二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板