La plupart des valeurs¹ dans limits.conf
sont des limites qui peuvent être définies avec la ulimit
commande shell ou l' setrlimit
appel système. Ce sont les propriétés d'un processus. Les limites s'appliquent indépendamment pour chaque processus. En particulier, chaque processus peut avoir jusqu'à nofile
ouvrir des fichiers. Il n'y a pas de limite au nombre de fichiers ouverts cumulés par les processus d'un utilisateur.
La nproc
limite est un peu un cas particulier, en ce sens qu'elle résume tous les processus d'un utilisateur. Néanmoins, il s'applique toujours par processus: lorsqu'un processus appellefork
pour créer un nouveau processus, l'appel est refusé si le nombre de processus appartenant à l'euid du processus est supérieur à la RLIMIT_NPROC
valeur du processus .
La limits.conf
page de manuel explique que les limites s'appliquent à une session. Cela signifie que tous les processus d'une session auront tous ces mêmes limites (sauf s'ils sont modifiés par l'un de ces processus). Cela ne signifie pas qu'une somme soit faite sur les processus d'une session (ce n'est même pas quelque chose que le système d'exploitation suit - il y a une notion de session, mais c'est plus fin que cela, par exemple, chaque application X11 a tendance à se terminer dans sa propre session). La façon dont cela fonctionne est que le processus de connexion se fixe des limites, et elles sont héritées par tous les processus enfants.
¹ Les exceptions sont maxlogins
, maxsyslogins
et chroot
, qui sont appliquées dans le cadre du processus de connexion pour refuser ou influencer la connexion.
limit.conf
modification entre les heures d'ouverture des sessions ou si différentes limites (elles doivent être plus petites à l'exception de root) sont définies.profile
.prlimit --pid $pid
sur chacun, vous pouvez effectivement modifier la limite d'une session active. Notez que vous devrez peut-être le faire plusieurs fois au cas où certains processus seraient bifurqués pendant l'itération.RLIMIT_NPROC
définis sur 2 dans A et sur 3 dans B. Alors B peut bifurquer un processus de plus, mais pas A.