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)