Pregunta

¿Cuántos bytes puede ser enviado como argumento de línea de comandos cuando lanzando un proceso bajo Linux?

¿Fue útil?

Solución

gahooa sugiere un buen artículo en http: //www.in-ulm. de / ~ mascheck / varios / argmax / , pero si algún día desaparece esa página, aquí está la carne de la cuestión: para encontrar la longitud máxima de sus argumentos de línea de comando probar uno de los siguientes

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

Otros consejos

Buen artículo describe el problema:

http://www.in-ulm.de/ ~ mascheck / varios / argmax /

Este fragmento se lo dirá.

#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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top