一个同事在编译loadmodule时遇到了一个问题
gmake: execvp: /bin/sh: Argument list too long
gmake: *** [ .o] Error 127
这种情况以前并没有遇到,一番google之后才知道这个是OS kernal的限制
在某些OS中,定义为ARG_MAX或者NCARGS,用来定义OS中参数的最大长度。
当出现这种问题时,我们应该关注argv[]和envp[],即参数本身和环境变量。对于环境变量,可以通过 env 查看。若env长度过长,则可以考虑删除不必要的环境变量。事实上,可以通过如下命令估计process可用于argrment的长度:
expr `getconf ARG_MAX` - `env|wc -c` -