You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
5.1 KiB
187 lines
5.1 KiB
Ripped from Fedora
|
|
|
|
--- bash-3.0/builtins/ulimit.def
|
|
+++ bash-3.0/builtins/ulimit.def
|
|
@@ -34,15 +34,20 @@
|
|
-a all current limits are reported
|
|
-c the maximum size of core files created
|
|
-d the maximum size of a process's data segment
|
|
+ -e the maximum scheduling priority (`nice')
|
|
-f the maximum size of files created by the shell
|
|
+ -i the maximum number of pending signals
|
|
-l the maximum size a process may lock into memory
|
|
-m the maximum resident set size
|
|
-n the maximum number of open file descriptors
|
|
-p the pipe buffer size
|
|
+ -q the maximum number of bytes in POSIX message queues
|
|
+ -r the maximum rt priority
|
|
-s the maximum stack size
|
|
-t the maximum amount of cpu time in seconds
|
|
-u the maximum number of user processes
|
|
-v the size of virtual memory
|
|
+ -x the maximum number of file locks
|
|
|
|
If LIMIT is given, it is the new value of the specified resource;
|
|
the special LIMIT values `soft', `hard', and `unlimited' stand for
|
|
@@ -199,7 +204,13 @@
|
|
#ifdef RLIMIT_DATA
|
|
{ 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" },
|
|
#endif
|
|
+#ifdef RLIMIT_NICE
|
|
+ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL},
|
|
+#endif /* RLIMIT_NICE */
|
|
{ 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" },
|
|
+#ifdef RLIMIT_SIGPENDING
|
|
+ { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL},
|
|
+#endif
|
|
#ifdef RLIMIT_MEMLOCK
|
|
{ 'l', RLIMIT_MEMLOCK, 1024, "max locked memory", "kbytes" },
|
|
#endif
|
|
@@ -208,6 +219,12 @@
|
|
#endif /* RLIMIT_RSS */
|
|
{ 'n', RLIMIT_OPENFILES, 1, "open files", (char *)NULL},
|
|
{ 'p', RLIMIT_PIPESIZE, 512, "pipe size", "512 bytes" },
|
|
+#ifdef RLIMIT_MSGQUEUE
|
|
+ { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" },
|
|
+#endif
|
|
+#ifdef RLIMIT_RTPRIO
|
|
+ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL},
|
|
+#endif /* RLIMIT_RTPRIO */
|
|
#ifdef RLIMIT_STACK
|
|
{ 's', RLIMIT_STACK, 1024, "stack size", "kbytes" },
|
|
#endif
|
|
@@ -221,6 +238,9 @@
|
|
#ifdef RLIMIT_SWAP
|
|
{ 'w', RLIMIT_SWAP, 1024, "swap size", "kbytes" },
|
|
#endif
|
|
+#ifdef RLIMIT_LOCKS
|
|
+ { 'x', RLIMIT_LOCKS, 1, "file locks", (char *)NULL},
|
|
+#endif
|
|
{ -1, -1, -1, (char *)NULL, (char *)NULL }
|
|
};
|
|
#define NCMDS (sizeof(limits) / sizeof(limits[0]))
|
|
@@ -647,11 +667,11 @@
|
|
|
|
for (i = 0; limits[i].option > 0; i++)
|
|
{
|
|
- if (get_limit (i, &softlim, &hardlim) < 0)
|
|
+ if (get_limit (i, &softlim, &hardlim) == 0)
|
|
+ printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
|
|
+ else if (errno != EINVAL)
|
|
builtin_error ("%s: cannot get limit: %s", limits[i].description,
|
|
strerror (errno));
|
|
- else
|
|
- printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
|
|
}
|
|
}
|
|
|
|
@@ -670,7 +690,7 @@
|
|
else
|
|
sprintf (unitstr, "(-%c) ", limits[limind].option);
|
|
|
|
- printf ("%-18s %16s", limits[limind].description, unitstr);
|
|
+ printf ("%-20s %16s", limits[limind].description, unitstr);
|
|
}
|
|
if (curlim == RLIM_INFINITY)
|
|
puts ("unlimited");
|
|
--- bash-3.0/doc/bashref.texi
|
|
+++ bash-3.0/doc/bashref.texi
|
|
@@ -3793,7 +3793,7 @@
|
|
@item ulimit
|
|
@btindex ulimit
|
|
@example
|
|
-ulimit [-acdflmnpstuvSH] [@var{limit}]
|
|
+ulimit [-acdeflmnpqrstuvxSH] [@var{limit}]
|
|
@end example
|
|
@code{ulimit} provides control over the resources available to processes
|
|
started by the shell, on systems that allow such control. If an
|
|
@@ -3814,9 +3814,15 @@
|
|
@item -d
|
|
The maximum size of a process's data segment.
|
|
|
|
+@item -e
|
|
+The maximum scheduling priority.
|
|
+
|
|
@item -f
|
|
The maximum size of files created by the shell.
|
|
|
|
+@item -i
|
|
+The maximum number of pending signals.
|
|
+
|
|
@item -l
|
|
The maximum size that may be locked into memory.
|
|
|
|
@@ -3829,6 +3835,12 @@
|
|
@item -p
|
|
The pipe buffer size.
|
|
|
|
+@item -q
|
|
+The maximum number of bytes in POSIX message queues.
|
|
+
|
|
+@item -r
|
|
+The maximum RT priority.
|
|
+
|
|
@item -s
|
|
The maximum stack size.
|
|
|
|
@@ -3841,6 +3853,9 @@
|
|
@item -v
|
|
The maximum amount of virtual memory available to the process.
|
|
|
|
+@item -x
|
|
+The maximum amount of file locks.
|
|
+
|
|
@end table
|
|
|
|
If @var{limit} is given, it is the new value of the specified resource;
|
|
--- bash-3.0/doc/bash.1
|
|
+++ bash-3.0/doc/bash.1
|
|
@@ -8362,7 +8362,7 @@
|
|
returns true if any of the arguments are found, false if
|
|
none are found.
|
|
.TP
|
|
-\fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
|
|
+\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
|
|
Provides control over the resources available to the shell and to
|
|
processes started by it, on systems that allow such control.
|
|
The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
|
|
@@ -8398,9 +8398,15 @@
|
|
.B \-d
|
|
The maximum size of a process's data segment
|
|
.TP
|
|
+.B \-e
|
|
+The maximum scheduling priority (`nice')
|
|
+.TP
|
|
.B \-f
|
|
The maximum size of files created by the shell
|
|
.TP
|
|
+.B \-i
|
|
+The maximum number of pending signals
|
|
+.TP
|
|
.B \-l
|
|
The maximum size that may be locked into memory
|
|
.TP
|
|
@@ -8414,6 +8420,12 @@
|
|
.B \-p
|
|
The pipe size in 512-byte blocks (this may not be set)
|
|
.TP
|
|
+.B \-q
|
|
+The maximum number of bytes in POSIX message queues
|
|
+.TP
|
|
+.B \-r
|
|
+The maximum rt priority
|
|
+.TP
|
|
.B \-s
|
|
The maximum stack size
|
|
.TP
|
|
@@ -8425,6 +8437,9 @@
|
|
.TP
|
|
.B \-v
|
|
The maximum amount of virtual memory available to the shell
|
|
+.TP
|
|
+.B \-x
|
|
+The maximum number of file locks
|
|
.PD
|
|
.PP
|
|
If
|