Какой объем данных можно передать в качестве аргументов командной строки?
-
18-09-2019 - |
Вопрос
Сколько байтов можно отправить в качестве аргумента командной строки при запуске процесса в Linux?
Решение
gahoa предлагает хорошую статью на http://www.in-ulm.de/~mascheck/various/argmax/, но если эта страница когда-нибудь исчезнет, вот суть дела:чтобы найти максимальную длину аргументов командной строки, попробуйте одно из следующих действий
* command: getconf ARG_MAX
* system call: sysconf(_SC_ARG_MAX)
* system header: ARG_MAX in e.g. <[sys/]limits.h>
Другие советы
Хорошая статья описывает проблему:
Этот фрагмент расскажет вам.
#include <stdio.h>
#include <unistd.h>
int main(int argc, char** argv)
{
const long value = sysconf(_SC_ARG_MAX);
printf("ARG_MAX: %ld\n", value);
}
Не связан с StackOverflow