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 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
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
LIM_NORAISE no longer exists.
__________
* Not currently supported under MachTen Personal Unix