Die meisten Werte¹ in limits.conf
sind Grenzwerte, die mit dem ulimit
Shell-Befehl oder dem setrlimit
Systemaufruf festgelegt werden können. Sie sind Eigenschaften eines Prozesses. Die Grenzwerte gelten für jeden Prozess unabhängig. Insbesondere kann jeder Prozess bis zu nofile
geöffnete Dateien enthalten. Die Anzahl der offenen Dateien, die von den Prozessen eines Benutzers kumuliert werden, ist unbegrenzt.
Das nproc
Limit ist insofern ein Sonderfall, als es sich über alle Prozesse eines Benutzers summiert. Es gilt jedoch weiterhin pro Prozess: Wenn ein Prozess fork
zum Erstellen eines neuen Prozesses aufruft , wird der Aufruf verweigert, wenn die Anzahl der Prozesse, die zur euid des Prozesses gehören, größer ist als der RLIMIT_NPROC
Wert des Prozesses .
In der limits.conf
Manpage wird erklärt, dass die Grenzwerte für eine Sitzung gelten. Dies bedeutet, dass alle Prozesse in einer Sitzung dieselben Grenzwerte haben (sofern sie nicht durch einen dieser Prozesse geändert werden). Dies bedeutet nicht, dass eine Summe über die Prozesse in einer Sitzung erstellt wird (das verfolgt das Betriebssystem nicht einmal - es gibt eine Vorstellung von Sitzung, aber es ist feiner abgestuft, z. B. neigt jede X11-Anwendung dazu, zu beenden in seiner eigenen Sitzung). Die Art und Weise, wie dies funktioniert, besteht darin, dass der Anmeldevorgang selbst einige Grenzen setzt und diese von allen untergeordneten Prozessen übernommen werden.
¹ Die Ausnahmen sind maxlogins
, maxsyslogins
und chroot
, die als Teil des Login - Prozesses angewandt werden , zu verweigern oder zu beeinflussen Anmeldung.
limit.conf
zwischen den Zeiten, in denen die Sitzungen geöffnet waren, Änderungen vorgenommen wurden, oder wenn andere Grenzwerte (die mit Ausnahme von root kleiner sein müssten) festgelegt wurden.profile
.prlimit --pid $pid
auf jedem Prozess ausgeführt werden, können Sie das Limit für eine aktive Sitzung effektiv ändern. Beachten Sie, dass Sie dies möglicherweise einige Male tun müssen, wenn einige Prozesse während des Iterierens unterbrochen werden.RLIMIT_NPROC
A auf 2 und B auf 3 gesetzt ist. Dann kann B einen weiteren Prozess verzweigen , A jedoch nicht.