我有一个相当简单的C++程序,它只接受一个Base64编码字符串参数。我可以调用程序。我现在尝试使用Node.js的 child_process.spawn() 调用这个程序,但是当我传入相同的Base64字符串时,它会抛出“E2BIG”错误。我正在测试的Base64字符串长度为305016字节。在我的Linux机器上运行getconf ARG_MAX将返回2097152。为什么child_process抛出错误?
getconf ARG_MAX
ma8fv8wu1#
尝试strace它,看看Node.js是否正在进行系统调用-即,检查它是内部Node.js限制还是Linux系统拒绝它。Node.js中libuv使用的strcpy可以返回E2BIG。
libuv
strcpy
E2BIG
1条答案
按热度按时间ma8fv8wu1#
尝试strace它,看看Node.js是否正在进行系统调用-即,检查它是内部Node.js限制还是Linux系统拒绝它。
Node.js中
libuv
使用的strcpy
可以返回E2BIG
。