unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.4BSD-Lite2)
Page:
Section:
Apropos / Subsearch:
optional field

VLIMIT(3)                   BSD Programmer's Manual                  VLIMIT(3)

NAME
     vlimit - control maximum system resource consumption

SYNOPSIS
     #include <&lt;sys/vlimit.h>&gt;

     vlimit(resource, value);

DESCRIPTION
     This interface is obsoleted by getrlimit(2).  It is available from the
     compatibility library, libcompat.

     Limits the consumption by the current process and each process it creates
     to not individually exceed value on the specified resource. If value is
     specified as -1, then the current limit is returned and the limit is un-
     changed.  The resources which are currently controllable are:

     LIM_NORAISE  A pseudo-limit; if set non-zero then the limits may not be
                  raised.  Only the super-user may remove the noraise restric-
                  tion.

     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 sbrk(2) be-
                  yond 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 information this
     system call must be executed directly by the shell if it is to affect all
     future processes created by the shell; limit is thus a built-in command
     to csh(1).

     The system refuses to extend the data or stack space when the limits
     would be exceeded in the normal way; a break(2) call fails if the data
     space limit is reached, or the process is killed when the stack limit is
     reached (since the stack cannot 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 normally terminates the pro-
     cess, 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)

HISTORY
     The vlimit() function appeared in 4.2BSD.

BUGS
     LIM_NORAISE no longer exists.

4th Berkeley Distribution        June 4, 1993                                1