Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vlimit(2V) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

csh(1)



      VLIMIT(2V)              GENIX 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  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 unchanged.  The resources which are currently controll-
           able 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



      Printed 11/16/83                                                        1





      VLIMIT(2V)              GENIX Programmer's Manual              VLIMIT(2V)



           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
           specifications of this system call and even the call itself are sub-
           ject to change.  It may be extended or replaced by other  facilities
           in future versions of the system.




































      Printed 11/16/83                                                        2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026