命令行参数可以传递多少数据?

5
在Linux下,当启动一个进程时,可以发送多少字节作为命令行参数?
2个回答

9

gahooa建议在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>

4
这段代码将会告诉你。
#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);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接