exec中文文档|exec js中文教程|解析
exec
轻松执行和安全的 spawn 调用子进程
已弃用:如果您的 node 版本支持child_process.execFile
,请考虑使用它,因为它可以完成此模块所做的一切以及更多……用法略有不同。
http://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback
为什么?
该模块提供了两全其美的spawn
和exec
它将使用包含 stdout 和 stderr(如child_process.exec
)的2 个字符串进行回调,但将采用一组进程参数(如child_process.spawn
)以避免任何潜在有害的 shell 扩展。
用法
var exec = ;
例子
var exec = ;;
上面的示例将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([‘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
执照
麻省理工学院