4BSD/usr/man/cat2/vlimit.2v
VLIMIT(2V) UNIX Programmer's Manual VLIMIT(2V)
NAME
vlimit - control maximum system resource consumption
SYNOPSIS
#include <sys/vlimit.h>
vlimit(resource, value)
DESCRIPTION
Limits the consumption by the current process and each pro-
cess it creates to not individually exceed _v_a_l_u_e on the
specified _r_e_s_o_u_r_c_e. If _v_a_l_u_e is specified as -1, then the
current limit is returned and the limit is unchanged. The
resources which are currently controllable are:
LIM_NORAISE A pseudo-limit; if set non-zero then the lim-
its may not be raised. Only the super-user
may remove the _n_o_r_a_i_s_e restriction.
LIM_CPU the maximum number of cpu-seconds to be used
by each process
LIM_FSIZE the largest single file which can be created
LIM_DATA the maximum growth of the data+stack region
via _s_b_r_k(2) beyond the end of the program
text
LIM_STACK the maximum size of the automatically-
extended stack region
LIM_CORE the size of the largest core dump that will
be created.
Because this information is stored in the per-process infor-
mation this system call must be executed directly by the
shell if it is to affect all future processes created by the
shell; _l_i_m_i_t is thus a built-in command to _c_s_h(1).
The system refuses to extend the data or stack space when
the limits would be exceeded in the normal way; a _b_r_e_a_k call
fails if the data space limit is reached, or the process is
killed when the stack limit is reaches (since the stack can-
not be extended, there is no way to send a signal!).
A file i/o operation which would create a file which is too
large will cause a signal SIGXFSZ to be generated, this nor-
mally terminates the process, but may be caught. When the
cpu time limit is exceeded, a signal SIGXCPU is sent to the
offending process; to allow it time to process the signal it
is given 5 seconds grace by raising the cpu time limit.
Printed 11/10/80 1
VLIMIT(2V) UNIX Programmer's Manual VLIMIT(2V)
SEE ALSO
csh(1)
BUGS
If LIM_NORAISE is set, then no grace should be given when
the cpu time limit is exceeded.
There should be _l_i_m_i_t and _u_n_l_i_m_i_t commands in _s_h(1) as well
as in _c_s_h.
This call is peculiar to this version of UNIX. The options
and specifications of this system call and even the call
itself are subject to change. It may be extended or
replaced by other facilities in future versions of the sys-
tem.
Printed 11/10/80 2