ulimit(2) ulimit(2)
NAME
ulimit - Prozeßgrenzen abfragen und setzen
SYNTAX
#include <ulimit.h>
long int ulimit(int cmd, ... /* newlimit */ );
BESCHREIBUNG
Diese Funktion ermöglicht die Steuerung der Prozeßgrenzen. Die mögli-
chen Werte für cmd sind:
ULGETFSIZE Der weiche Grenzwert der Dateigröße für den Prozeß wird
zurückgegeben. Der Grenzwert wird in Einheiten von Blök-
ken zu je 512 Bytes angegeben und wird an die Sohnpro-
zesse vererbt. Dateien jeder Größe können gelesen werden.
Der Rückgabewert ist der ganzzahlige Teil aus dem weichen
Grenzwert für die Dateigröße dividiert durch 512. Wenn
das Ergebnis nicht als ein Wert vom Typ long int darge-
stellt werden kann, ist es unbestimmt.
ULSETFSIZE Harter und weicher Grenzwert der Dateigröße für Ausgabe-
operationen des Prozesses werden auf den Wert des zweiten
Arguments gesetzt und als Typ long int aufgefaßt wird.
Jeder Prozeß kann seinen eigenen harten Grenzwert herab-
setzen, für eine Erhöhung des Grenzwertes muß er aller-
dings über die entsprechenden Zugriffsrechte verfügen.
Die neue Dateigröße wird zurückgegeben. Harter und wei-
cher Grenzwert der Dateigröße werden auf den angegebenen
Wert multipliziert mit 512 gesetzt. Wenn das Ergebnis zum
Überlauf eines rlimitt-Grenzwerts führen würde, ist der
tatsächlich gesetzte Wert unbestimmt.
ULGMEMLIM Der größtmögliche Speichergrenzwert wird abgefragt [siehe
brk(2)].
ULGDESLIM Der aktuelle Wert der im System konfigurierten maximalen
Anzahl an offenen Dateien pro Prozeß wird abgerufen.
FEHLER
Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
errno(5).
Der Systemaufruf ulimit() schlägt bei folgenden Bedingungen fehl:
EINVAL Das Argument cmd ist nicht gültig.
EPERM Ein Prozeß mit einer effektiven Benutzer-ID, die sich von
der des Systemverwalters unterscheidet, versucht, den Grenz-
wert für die Dateigröße zu erhöhen.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ulimit(2) ulimit(2)
HINWEISE
ulimit() ist in der Größenbegrenzung regulärer Dateien wirksam. Pipes
werden momentan durch PIPEMAX begrenzt.
Die Funktion ulimit() gibt als Ergebnis "unlimited" zurück, wenn der
aktuelle weiche Grenzwert (Soft-Limit) in einem Objekt des Typs long
nicht korrekt dargestellt werden kann. Da diese Funktion bereits ver-
altet ist, wird die Verwendung von getrlimit() und setrlimit() zum
Abrufen und Einstellen der Prozeßgrenzwerte empfohlen.
ERGEBNIS
Nach erfolgreicher Beendigung wird ein nicht negativer Wert zurückge-
geben. Andernfalls wird -1 zurückgegeben, und errno wird zur Anzeige
des Fehlers gesetzt.
SIEHE AUCH
brk(2), getrlimit(2), setrlimit(2), write(2), lfs(5), ulimit(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98