我知道您可以创建文件描述符并将输出重定向到它。例如 exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. 但是您可以在没有文件描述符的情况下执行相同的操作: FILE=/tmp/foo echo a > "$FILE" 我正在寻找一个很好的示例,说明何时需要使用附加的文件描述符。
我正在尝试安装389-ds,它给了我这个警告: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. 我了解文件描述符,但不了解软限制和硬限制。 当我跑步时cat /proc/sys/fs/file-max,我回来了590432。这意味着我最多可以打开590432文件(即,最多可以打开590432文件描述符)。 但是当我跑步时ulimit,它给我不同的结果: $ ulimit unlimited $ ulimit -Hn # Hard limit 4096 $ ulimit -Sn # Soft limit 1024 但是,硬/软限制来自ulimit什么?它们与存储在其上的数字/proc/sys/fs/file-max有何关系?