Die ulimit () -Funktion soll Prozessgrenzen steuern. Zu den Prozessgrenzen, die mit dieser Funktion gesteuert werden können, gehört die maximale Größe einer einzelnen Datei, die geschrieben werden kann (dies entspricht der Verwendung von setrlimit () mit RLIMIT_FSIZE).
Wenn Sie sich außerdem die setrlimitManpage ansehen, wird die zugrunde liegende Datenstruktur aufgerufen, die die Grenzwertinformationen enthält rlimit.
getrlimit und setrlimit erhalten bzw. setzen Ressourcenlimits. Jeder Ressource ist eine weiche und eine harte Grenze zugeordnet, wie durch die rlimit-Struktur definiert (das rlim-Argument für getrlimit () und setrlimit ()):
struct rlimit {
rlim_t rlim_cur; /* Soft limit */
rlim_t rlim_max; /* Hard limit (ceiling
for rlim_cur) */
};
In Bezug auf die ulimit-Manpage handelt es sich um einen Bash-Shell-Befehl zur Steuerung der Einschränkungen des Systems und eines Teils von Bash-Builtins wie printf, read, source usw.
Auf die getrlimits-Seite verweisend , stellt sie die APIs über C / C ++ dar, wobei Systemaufrufe verwendet werden, um die Systemlimits zu steuern. Zusätzliche Dokumentation zu glibc erklärt rlimits (= resource limits) besser.
Antworten:
Ich denke, die Verwirrung rührt von der Tatsache her, dass der zugrunde liegende Systemaufruf, den ulimit umschließt , setrlimit heißt .
Auszug aus der Manpage ulimit
Wenn Sie sich außerdem die
setrlimit
Manpage ansehen, wird die zugrunde liegende Datenstruktur aufgerufen, die die Grenzwertinformationen enthältrlimit
.Auszug aus der Manpage von setrlimit
Verweise
quelle
In Bezug auf die ulimit-Manpage handelt es sich um einen Bash-Shell-Befehl zur Steuerung der Einschränkungen des Systems und eines Teils von Bash-Builtins wie printf, read, source usw.
Auf die getrlimits-Seite verweisend , stellt sie die APIs über C / C ++ dar, wobei Systemaufrufe verwendet werden, um die Systemlimits zu steuern. Zusätzliche Dokumentation zu glibc erklärt rlimits (= resource limits) besser.
quelle
ulimit
kann zwei Dinge sein:eine Schnittstelle POSIX 7 C - API , die zu Gunsten veraltet wurde
getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.htmlDies war bei der
sim
Beantwortung unter POSIX 6 nicht der Fall .Unter GNU / Linux
getrlimit()
undulimit()
werden mit demsys_getrlimit
Systemaufruf implementiert . Es gibt keinesys_ulimit
.ein nicht veraltetes POSIX 7-CLI-Dienstprogramm: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
Es kann entweder mit
ulimit()
oder implementiert werdengetrlimit()
.quelle