Ha ouais, 1024 FD possibles en même temps (soft limit ulimit). Voir :
http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
Dans le cas présent, on remarquera que cette limite est bien utile pour éviter l'emballement d'un programme. :)
ÉDIT DU 01/05/2015 : ça marche aussi pour éviter d'avoir à killer un gedit qui a ouvert un fichier trop volumineux pour lui (mauvaise association) ce qui permet de préserver les fichiers que l'on n'a pas encore sauvegardés. On identifie le fichier avec ls -lh /proc/<PID_gedit>/fd et ensuite on ouvre gdb (oui, pas obligé d'utiliser un fichier batch), on passe la commande : call close(<FD>) . On quitte gdb : quit. gedit va reprendre ses esprits (il était en pause comme tout programme sur lequel on s'attache avec gdb) et constater : « Impossible d'ouvrir le fichier [...] Erreur inattendue : Erreur lors de la lecture du fichier : Mauvais descripteur de fichier ». \o/
« call » permet d'appeler n'importe quelle fonction du programme ou des libs linkées au programme. FIN DE L'ÉDIT.