exec中文文档|exec js中文教程|解析

npm npmdoc 3年前 (2021-10-30) 417次浏览

exec中文文档|exec js中文教程|解析

安装命令:npm i exec

exec

轻松执行和安全的 spawn 调用子进程

已弃用:如果您的 node 版本支持child_process.execFile,请考虑使用它,因为它可以完成此模块所做的一切以及更多……用法略有不同。

http://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback

为什么?

该模块提供了两全其美的spawnexec

它将使用包含 stdout 和 stderr(如child_process.exec)的2 个字符串进行回调,但将采用一组进程参数(如child_process.spawn)以避免任何潜在有害的 shell 扩展。

用法

var exec = require('exec');

例子

var exec = require('exec');
 
exec(['ls', '-lha'], function(err, out, code) {
  if (err instanceof Error)
    throw err;
  process.stderr.write(err);
  process.stdout.write(out);
  process.exit(code);
});

上面的示例将ls -lha通过将参数直接传递给exec(2)而不使用 shell 扩展/分词来安全调用

它返回一个child_process.spawn对象,并使用任何标准输出、标准错误和命令的退出状态进行回调。如果在生成期间出现任何错误,上面的示例将抛出错误,否则将打印 stdout、stderr,并以退出代码ls.

注意:如果err是 instanceof Error,则表示child_process.spawn发出和error事件,并err设置为该错误对象。

err并且默认out编码为utf-8字符串

为了向后兼容child_process.exec,还可以将字符串传递给exec该字符串将自动转换为
['/bin/sh', '-c', '{string}'],这将导致在 shell 上解析该字符串。请注意,如果您使用此方法,您将面临 shell 扩展、分词和其他可能不安全的 shell 功能的风险。

exec('cat foo | grep bar', function(err, out, code) {
  if (err instanceof Error)
    throw err;
  process.stderr.write(err);
  process.stdout.write(out);
  process.exit(code);
});

职能

exec([‘args’], [opts], 回调)

  • args: 要执行的参数数组
  • opts: 是传递给的附加选项 child_process.spawn

除了child_process.spawn选项之外,还添加了更多选项来模仿child_process.exec

  • opts.timeout: 在发送之前等待程序完成的毫秒数
    SIGTERM请注意,默认情况下,您的程序将无限期地等待生成的程序终止。发送致命信号后,exec将返回产生的任何 stdout 和 stderr。
  • opts.killSignal: 使用时opts.timeout使用的信号,默认为SIGTERM
  • opts.encoding:用于标准输出和标准错误的编码。 注意:与 不同child_process.exec,这默认为'utf-8'如果未设置。设置为'buffer'处理二进制数据。

安装

npm install exec

执照

麻省理工学院

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:exec中文文档|exec js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}