NAME
ulimit() — get and set user limits
SYNOPSIS
#include <ulimit.h>
long ulimit(int cmd, ...);
Remarks
The ANSI C ", ..." construct denotes a variable length argument list whose
optional [or required]
members are given in the associated comment
(/* */).
DESCRIPTION
ulimit()
provides for control over process limits.
Available values for
cmd
are:
- UL_GETFSIZE
Get the 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 optional second argument is not used.
- UL_SETFSIZE
Set the file size limit of the process to the value
of the optional second argument which is taken as a long.
Any process can decrease this limit,
but only a process with the
LIMIT
privilege
can increase the limit.
Note that the limit must be specified in units of 512-byte blocks.
- UL_GETMAXBRK
Get the maximum possible break value
(see
brk(2)).
Depending on system resources such as swap space,
this maximum might not be attainable at a given time.
The optional second argument is not used.
Security Restrictions
Some or all of the actions associated with this system call require the
LIMIT
privilege.
Processes owned by the superuser have this privilege.
Processes owned by other users may have this privilege, depending on system
configuration.
See
privileges(5)
for more information about privileged access on
systems that support fine-grained privileges.
RETURN VALUE
Upon successful completion, a non-negative value is returned.
Errors return a -1, with
errno
set to indicate the error.
ERRORS
ulimit()
fails if one or more of the following conditions is true.
- EINVAL
cmd
is not in the correct range.
- EPERM
ulimit()
fails and the limit is unchanged if a process
without the
LIMIT
privilege
attempts to increase its file size limit.
STANDARDS CONFORMANCE
ulimit(): AES, SVID2, SVID3, XPG2, XPG3, XPG4