gnome-terminal 中命令行参数的最大长度是多少?

gnome-terminal 中命令行参数的最大长度是多少?

gnome-terminal 中命令行参数的最大长度是多少?

... 是否有一个系统环境变量可以报告这个值?

答案1

xargs知道。在我的系统上,

$ xargs --show-limits
Your environment variables take up 2572 bytes
POSIX upper limit on argument length (this system): 2092532
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2089960
Size of command buffer we are actually using: 131072

答案2

答案来自于系统配置ARG_MAX。要在系统上检查它,请执行以下操作:

getconf ARG_MAX

对我来说,这报告2097152。有关更多详细信息,请查看联机帮助页:

man sysconf

要在程序中获取它,例如:

#include <unistd.h>
...
printf("%ld\n", sysconf(_SC_ARG_MAX));

答案3

我不太了解 gnome-terminal,但是 shell 没有“固定”的限制,而是堆栈的限制。

但是每个参数的硬编码限制为 128KB,如果您不使用“非常非常长的参数……”,这应该不是问题。

您可以在这里阅读更多相关信息:

http://www.mail-archive.com/[电子邮件保护]/msg05522.html

相关内容