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