ulimit
— get and
set process limits
Standard C Library (libc, -lc)
#include
<ulimit.h>
long
ulimit
(int
cmd, ...);
The
ulimit
()
function will get and set process limits. Currently this is limited to the
maximum file size. The cmd argument is one of the
following:
UL_GETFSIZE
- will return the maximum file size in units of 512 blocks of the current
process.
UL_SETFSIZE
- will attempt to set the maximum file size of the current process and its
children with 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:
- [
EINVAL
]
- The command specified was invalid.
- [
EPERM
]
- The limit specified to
ulimit
() would have raised
the maximum limit value, and the caller is not the super-user.
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.