Skip to content
Syscall BSD#195

svc · unix #195

setrlimit

Définit les limites soft et hard d'une ressource.

Prototype

int setrlimit(u_int which, struct rlimit *rlp);

Retour: int

Arguments

NameTypeDirDescription
whichu_int-
rlpstruct rlimit-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard195
xnu-1486.2.11195
xnu-1504.15.3195
xnu-1504.3.12195
xnu-1504.7.4195
xnu-1504.9.17195
xnu-1504.9.26195
xnu-1504.9.37195

Exemples

Raise fd limit

#include <sys/resource.h>

struct rlimit rl;
getrlimit(RLIMIT_NOFILE, &rl);
rl.rlim_cur = rl.rlim_max;
setrlimit(RLIMIT_NOFILE, &rl);

Notes

Un non privilégié peut abaisser la hard limit ou monter la soft jusqu'à elle ; seul root peut élever la hard. Certaines limites macOS (RLIMIT_NOFILE, RLIMIT_NPROC) sont aussi bornées par des sysctl comme kern.maxfilesperproc et kern.maxprocperuid. Élever RLIMIT_STACK ne fait pas grandir rétroactivement les stacks de threads existants.

API associées

getrlimitproc_rlimit_controlgetrusagegetdtablesizesetpriority