为什么不执行/usr/include/linux/limits.h PATH_MAX 4096?

时间:2011-06-02 15:49:08

标签: limit pathname

问题

我是否误解了PATH_MAX?

我是否需要开始担心有多少其他限制没有被强制执行或被错误地强制执行?

研究平台

uname -a Linux xxxxxx.com 2.6.18-164.el5#1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux

从/ etc / fstab我看到我正在操作的文件系统是ext3。也许PATH_MAX是无关紧要的,文件系统负责处理限制?

目的

我试图确定Apache 2.2.3是否能正确处理GET,其中路径名(所有目录组件加上尾随文件名)的长度很长(可能是300左右)。

我键入的内容

我通过运行此shell脚本开始此调查:

d="256 byte string here"
while [ 1 ]; do
    mkdir $d
    if [ $? -ne 0 ]; then
        break
    fi
    cd $d
    if [ $? -ne 0 ]; then
        break
    fi
done
pwd

此脚本的执行失败,但我最终得到了一个522目录层次结构,其中最底层文件的路径名为 131273 字节长。

1 个答案:

答案 0 :(得分:0)

您误解了PATH-MAX - 这是对某些功能的API的限制。它不是对操作系统的限制。

这是related blog post