В системах, подобных POSIX, есть ли максимальная длина аргументов командной строки?
Чтобы уточнить, я ищу максимальную длину каждого аргумента командной строки, а не максимальное количество аргументов.
POSIX не определяет максимальную длину для каждого аргумента.
MAX_ARG_STRLEN - специфичная для Linux константа , которая была введена в ядре 2.6.25 .
MAX_ARG_STRLEN
Начиная с ядра 2.6.25, MAX_ARG_STRLEN определяется как 131072 bytes = 32 pages of memory.
131072 bytes
32 pages of memory
(Я предполагаю, что размер страницы 4k, что имеет место, если CONFIG_HUGETLB_PAGE не включен. Я не уверен, как CONFIG_HUGETLB_PAGE влияет на MAX_ARG_STRLEN.)
CONFIG_HUGETLB_PAGE
См. Также: http://manpages.ubuntu.com/manpages/lucid/man2/execve.2.html