127 lines
4.3 KiB
Groff
127 lines
4.3 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)vlimit.3 8.1 (Berkeley) 6/4/93
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd June 4, 1993
|
|
.Dt VLIMIT 3
|
|
.Os BSD 4
|
|
.Sh NAME
|
|
.Nm vlimit
|
|
.Nd control maximum system resource consumption
|
|
.Sh SYNOPSIS
|
|
.Fd #include <sys/vlimit.h>
|
|
.Fn vlimit resource value
|
|
.Sh DESCRIPTION
|
|
.Bf -symbolic
|
|
This interface is obsoleted by getrlimit(2).
|
|
It is available from the compatibility library, libcompat.
|
|
.Ef
|
|
.Pp
|
|
Limits the consumption by the current process and each process
|
|
it creates to not individually exceed
|
|
.Fa value
|
|
on the specified
|
|
.Fa resource .
|
|
If
|
|
.Fa value
|
|
is specified as \-1, then the current limit is returned and the
|
|
limit is unchanged.
|
|
The resources which are currently controllable are:
|
|
.Bl -tag -width LIM_NORAISE
|
|
.It Dv LIM_NORAISE
|
|
A pseudo-limit; if set non-zero then the limits may not be raised.
|
|
Only the super-user may remove the
|
|
.Em noraise
|
|
restriction.
|
|
.It Dv LIM_CPU
|
|
the maximum
|
|
number of cpu-seconds to be used by each process
|
|
.It Dv LIM_FSIZE
|
|
the largest single file which can be created
|
|
.It Dv LIM_DATA
|
|
the maximum growth of the data+stack region via
|
|
.Xr sbrk 2
|
|
beyond the end of the program text
|
|
.It Dv LIM_STACK
|
|
the maximum
|
|
size of the automatically-extended stack region
|
|
.It Dv LIM_CORE
|
|
the size of the largest core dump that will be created.
|
|
.It Dv 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
|
|
.Dv LIM_MAXRSS.
|
|
.El
|
|
.Pp
|
|
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;
|
|
.Xr limit
|
|
is thus a built-in command to
|
|
.Xr csh 1 .
|
|
.Pp
|
|
The system refuses to extend the data or stack space when the limits
|
|
would be exceeded in the normal way; a
|
|
.Xr brk 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!).
|
|
.Pp
|
|
A file
|
|
.Tn I/O
|
|
operation which would create a file which is too large
|
|
will cause a signal
|
|
.Dv SIGXFSZ
|
|
to be generated, this normally terminates
|
|
the process, but may be caught.
|
|
When the cpu time limit is exceeded, a signal
|
|
.Dv SIGXCPU
|
|
is sent to the
|
|
offending process; to allow it time to process the signal it is
|
|
given 5 seconds grace by raising the
|
|
.Tn CPU
|
|
time limit.
|
|
.Sh SEE ALSO
|
|
.Xr csh 1
|
|
.Sh HISTORY
|
|
The
|
|
.Fn vlimit
|
|
function appeared in
|
|
.Bx 4.2 .
|
|
.Sh BUGS
|
|
.Dv LIM_NORAISE
|
|
no longer exists.
|
|
|
|
This function has not yet been reimplemented.
|