ULIMIT(2) System Calls ULIMIT(2)
NAME
ulimit - get and set process limits
SYNOPSIS
#include <ulimit.h>
long ulimit(
int cmd,
/* newlimit */...);
DESCRIPTION
The
ulimit() function provides for control over process limits. It is
effective in limiting the growth of regular files. Pipes are limited
to
PIPE_MAX bytes.
The
cmd values, defined in <
ulimit.h>, include:
UL_GETFSIZE Return the soft file size limit of the process. The
limit is in units of 512-byte blocks and is inherited
by child processes. Files of any size can be read. The
return value is the integer part of the soft file size
limit divided by 512. If the result cannot be
represented as a
long int, the result is unspecified.
UL_SETFSIZE Set the hard and soft file size limits for output
operations of the process to the value of the second
argument, taken as a
long int. Any process may
decrease its own hard limit, but only a process with
appropriate privileges may increase the limit. The new
file size limit is returned. The hard and soft file
size limits are set to the specified value multiplied
by 512. If the result would overflow an
rlimit_t, the
actual value set is unspecified.
UL_GMEMLIM Get the maximum possible break value (see
brk(2)).
UL_GDESLIM Get the current value of the maximum number of open
files per process configured in the system.
RETURN VALUES
Upon successful completion,
ulimit() returns the value of the
requested limit. Otherwise,
-1 is returned, the limit is not
changed, and
errno is set to indicate the error.
ERRORS
The
ulimit() function will fail if:
EINVAL The
cmd argument is not valid.
EPERM A process that has not asserted {
PRIV_SYS_RESOURCE} in its
effective set is trying to increase its file size limit.
USAGE
Since all return values are permissible in a successful situation, an
application wishing to check for error situations should set
errno to
0, then call
ulimit(), and if it returns
-1, check if
errno is non-
zero.
The
getrlimit() and
setrlimit() functions provide a more general
interface for controlling process limits, and are preferred over
ulimit(). See
getrlimit(2).
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
SEE ALSO
brk(2),
getrlimit(2),
write(2),
attributes(7),
privileges(7),
standards(7) February 1, 2003 ULIMIT(2)