在类似POSIX的系统上,命令行参数是否有最大长度?
为了澄清,我正在寻找每个命令行参数的最大长度,而不是最大参数数。
答案 0 :(得分:7)
POSIX没有为每个参数定义最大长度。
MAX_ARG_STRLEN
是特定于Linux的常量which was introduced in the 2.6.25 kernel。
从2.6.25内核开始,MAX_ARG_STRLEN
被定义为131072 bytes
= 32 pages of memory
。
(我假设页面大小为4k,除非启用CONFIG_HUGETLB_PAGE
,否则就是这种情况。我不确定CONFIG_HUGETLB_PAGE
如何影响MAX_ARG_STRLEN
。)
另请参阅:http://manpages.ubuntu.com/manpages/lucid/man2/execve.2.html