ULIMIT(3) Library Functions Manual ULIMIT(3)

ulimitget and set process limits

Standard C Library (libc, -lc)

#include <ulimit.h>

long
ulimit(int cmd, ...);

The () function will get and set process limits. Currently, this is limited to the maximum file size. The cmd argument is one of the following:

will return the maximum file size of the current process, in units of 512-byte blocks.
will attempt to set the maximum file size of the current process and its children, using the second argument (expressed as a long).

Upon successful completion, ulimit() returns the value requested; otherwise, the value -1 is returned and the global variable errno is set to indicate the error.

The ulimit() function will fail if:

[]
The command specified was invalid.
[]
The limit specified to ulimit() would have raised the maximum limit value, and the caller is not the super-user.

getrlimit(2)

The ulimit() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

The ulimit() function first appeared in FreeBSD 5.0.

The ulimit() function provides limited precision for setting and retrieving process limits. If there is a need for greater precision than the type long provides, the getrlimit(2) and setrlimit(2) functions should be considered.

January 4, 2003 macOS 15.0