|
|
1.1 root 1: .TH VLIMIT 3C "18 July 1983"
2: .UC 4
3: .SH NAME
4: vlimit \- control maximum system resource consumption
5: .SH SYNOPSIS
6: .B "#include <sys/vlimit.h>"
7: .PP
8: .B vlimit(resource, value)
9: .SH DESCRIPTION
10: .ft B
11: This facility is superseded by getrlimit(2).
12: .ft R
13: .PP
14: Limits the consumption by the current process and each process
15: it creates to not individually exceed
16: .I value
17: on the specified
18: .I resource.
19: If
20: .I value
21: is specified as \-1, then the current limit is returned and the
22: limit is unchanged.
23: The resources which are currently controllable are:
24: .TP 15
25: LIM_NORAISE
26: A pseudo-limit; if set non-zero then the limits may not be raised.
27: Only the super-user may remove the \fInoraise\fR restriction.
28: .TP 15
29: LIM_CPU
30: the maximum
31: number of cpu-seconds to be used by each process
32: .TP 15
33: LIM_FSIZE
34: the largest single file which can be created
35: .TP 15
36: LIM_DATA
37: the maximum growth of the data+stack region via
38: .IR sbrk (2)
39: beyond the end of the program text
40: .TP 15
41: LIM_STACK
42: the maximum
43: size of the automatically-extended stack region
44: .TP 15
45: LIM_CORE
46: the size of the largest core dump that will be created.
47: .TP 15
48: LIM_MAXRSS
49: a soft limit for the amount of physical memory (in bytes) to be given
50: to the program. If memory is tight, the system will prefer to take memory
51: from processes which are exceeding their declared LIM_MAXRSS.
52: .PP
53: Because this information is stored in the per-process information
54: this system call must be executed directly by the shell if it
55: is to affect all future processes created by the shell;
56: .I limit
57: is thus a built-in command to
58: .IR csh (1).
59: .PP
60: The system refuses to extend the data or stack space when the limits
61: would be exceeded in the normal way; a
62: .I break
63: call fails if the data space limit is reached, or the process is
64: killed when the stack limit is reached (since the stack cannot be
65: extended, there is no way to send a signal!).
66: .PP
67: A file i/o operation which would create a file which is too large
68: will cause a signal SIGXFSZ to be generated, this normally terminates
69: the process, but may be caught.
70: When the cpu time limit is exceeded, a signal SIGXCPU is sent to the
71: offending process; to allow it time to process the signal it is
72: given 5 seconds grace by raising the cpu time limit.
73: .SH SEE ALSO
74: csh(1)
75: .SH BUGS
76: If LIM_NORAISE is set, then no grace should be given when the cpu
77: time limit is exceeded.
78: .PP
79: There should be
80: .I limit
81: and
82: .I unlimit
83: commands in
84: .IR sh (1)
85: as well as in
86: .IR csh.
87: .PP
88: This call is peculiar to this version of UNIX.
89: The options and specifications of this system call and even the call itself
90: are subject to change. It may be extended or replaced by other
91: facilities in future versions of the system.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.