unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Page:
Section:
Apropos / Subsearch:
optional field

VLIMIT(3C)                                                          VLIMIT(3C)



NAME
       vlimit - control maximum system resource consumption

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

       vlimit(resource, value)

DESCRIPTION
       This facility is superseded by getrlimit(2).

       Limits  the consumption by the current process and each process it cre-
       ates 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 unchanged.  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
                      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  sbrk(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 exceeding 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 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
       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
       If  LIM_NORAISE is set, then no grace should be given when the cpu time
       limit is exceeded.

       There should be limit and unlimit commands in sh(1) as well as in csh.

       This call is peculiar to this version of UNIX.  The options and  speci-
       fications  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 system.



4th Berkeley Distribution        18 July 1983                       VLIMIT(3C)