Visiblement, il s'agit donc des limites utilisateurs de ton système qui semblerait bloquantes. Pour plus d'info sur la commande ulimit, man bash car il s'agit d'un builtin du shell.
La page de man indique que l'utilisateur normal ne peut changer ses limites. En effet:
[gco@gc]:~% ulimit -n 2048
ulimit: value exceeds hard limit
Donc il faut le faire en root, ce qui tout de suite passe mieux:
[root@gc]:/home/gco# ulimit -n 8192
[root@gc]:/home/gco# ulimit -n
8192
Vu qu'il n'est pas très sur de laisser tourner un programme en root sans raison, je te recommande d'agir ainsi:
1/ lancement en root
2/ setrlimit()
3/ setuid(); setgid()
En espérant que cela règle ton problème.
Sinon, si tu veux pas t'emmerder avec tout ça, il y a /etc/security/limits.conf (man 5 limits.conf).
# Piste à suivre ?
Posté par LaBienPensanceMaTuer . En réponse au message Trop de fichiers ouverts .... Évalué à 4.
[gco@gc]:~% ulimit -a |grep file
-f: file size (blocks) unlimited
-c: core file size (blocks) 0
-n: file descriptors 1024
-x: file locks unlimited
Visiblement, il s'agit donc des limites utilisateurs de ton système qui semblerait bloquantes. Pour plus d'info sur la commande ulimit, man bash car il s'agit d'un builtin du shell.
La page de man indique que l'utilisateur normal ne peut changer ses limites. En effet:
[gco@gc]:~% ulimit -n 2048
ulimit: value exceeds hard limit
Donc il faut le faire en root, ce qui tout de suite passe mieux:
[root@gc]:/home/gco# ulimit -n 8192
[root@gc]:/home/gco# ulimit -n
8192
Vu qu'il n'est pas très sur de laisser tourner un programme en root sans raison, je te recommande d'agir ainsi:
1/ lancement en root
2/ setrlimit()
3/ setuid(); setgid()
En espérant que cela règle ton problème.
Sinon, si tu veux pas t'emmerder avec tout ça, il y a /etc/security/limits.conf (man 5 limits.conf).