Pergunta

Quantos bytes podem ser enviados como argumento de linha de comando quando disparando um processo no Linux?

Foi útil?

Solução

gahooa sugere um bom artigo em http: //www.in-ulm. de / ~ mascheck / vários / argmax / , mas se essa página desaparece um dia, aqui é a carne da questão: para encontrar o comprimento máximo de seus argumentos de linha de comando tente um dos seguintes procedimentos

* command: getconf ARG_MAX
* system call: sysconf(_SC_ARG_MAX)
* system header: ARG_MAX in e.g. <[sys/]limits.h>

Outras dicas

Este trecho irá dizer-lhe.

#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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top