节点/子进程抛出E2BIG

Jon*_*ith 10 javascript linux child-process node.js

我有一个相当简单的C++程序,它只接受一个Base64编码字符串的参数.我可以打电话给这个节目

我现在尝试使用node的child_process.spawn()调用此程序,但是当我传入相同的Base64字符串时它会抛出"E2BIG"错误.

我正在测试的Base64字符串长度为305016字节.

getconf ARG_MAX在我的Linux机器上运行返回2097152

任何想法为什么child_process抛出错误?

Cri*_*_SO 1

尝试跟踪它以查看 Node.js 是否正在进行系统调用 - 即,检查它是否是 Node.js 的内部限制,或者是 Linux 系统拒绝它。

Node.js 中使用strcpylibuv可以返回E2BIG.