4.3BSD-UWisc/man/cat3/vlimit.3c




VLIMIT(3C)          UNIX Programmer's Manual           VLIMIT(3C)



NAME
     vlimit - control maximum system resource consumption

SYNOPSIS
     #include <sys/vlimit.h>

     vlimit(resource, value)

DESCRIPTION
     This facility is superseded by getrlimit(2).

     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.

     LIM_MAXRSS     a soft limit for the amount of physical
                    memory (in bytes) to be given to the program.
                    If memory is tight, the system will prefer to
                    take memory from processes which are exceed-
                    ing their declared LIM_MAXRSS.

     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 reached (since the stack can-
     not be extended, there is no way to send a signal!).



Printed 12/27/86          May 12, 1986                          1






VLIMIT(3C)          UNIX Programmer's Manual           VLIMIT(3C)



     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.

SEE ALSO
     csh(1)

BUGS
     LIM_NORAISE no longer exists.











































Printed 12/27/86          May 12, 1986                          2