linux Node. js/ child_process抛出E2 BIG

lymnna71  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(134)

我有一个相当简单的C++程序,它只接受一个Base64编码字符串参数。我可以调用程序。
我现在尝试使用Node.js的 child_process.spawn() 调用这个程序,但是当我传入相同的Base64字符串时,它会抛出“E2BIG”错误。
我正在测试的Base64字符串长度为305016字节。
在我的Linux机器上运行getconf ARG_MAX将返回2097152。
为什么child_process抛出错误?

ma8fv8wu

ma8fv8wu1#

尝试strace它,看看Node.js是否正在进行系统调用-即,检查它是内部Node.js限制还是Linux系统拒绝它。
Node.js中libuv使用的strcpy可以返回E2BIG

相关问题