Esse limite é aplicado por processo.
Uma maneira de obter o número de arquivos abertos por processo seria no Linux ou no Solaris:
for i in /proc/*/fd
do
[ -r $i ] && printf "%6d : %d\n" $(basename $(dirname $i)) $(ls $i | wc -l)
done
ulimit -a
me diz que tenho um limite de 1024 arquivos abertos, que é o padrão na minha distro. Existe uma maneira de mostrar quantos destes são usados atualmente, ou quantos são restantes?