runlimit(8) runtools runlimit(8)
NAME
runlimit - run a program with new resource limits
SYNOPSIS
runlimit [-hV] [ opts ] program [ args ... ]
DESCRIPTION
runlimit sets up an environment with new resource limits as given by
opts, then runs program with any additional args.
If program does not contain a ``/'' slash character, runlimit will per-
form a shell-like search for the executable using the PATH variable in
the current environment.
OPTIONS
For each of the following resource limit options in opts, runlimit
calls setrlimit(2) to setup the corresponding soft resource limit.
Normally the argument to each option is a positive decimal integer. An
argument of `=' or `^' may be given to set the soft limit equal to the
current hard limit. Any resource limit specified that is greater than
its hard limit is truncated to the hard limit.
-E Environment. Resource parameters are scanned from the current
environment in the form r=v, where r is any RLIMIT_* resource
name as defined for getrlimit(2) and described below, and v is
the value used to set the corresponding resource limit. The -E
option may be combined with -F or other options. Any resource
limit set with a command-line option, or read from a file with
the -F option, takes precedence over the environment.
-F file
File-defined. Resource limits are taken from file, a plain-text
file with one or more non-empty lines of the form r=v, where r
is any RLIMIT_* resource name as defined for getrlimit(2) and
described below, and v is the value used to set the correspond-
ing resource limit. Empty lines and lines beginning with `#'
are ignored. Leading and trailing whitespace is trimmed from
both r and v. The -F option may be combined with -E or other
options. Any resource limit set with a command-line option
takes precedence over a file-defined limit.
-a availmem
Total available memory (in bytes). Resource parameter RLIMIT_AS
and/or RLIMIT_VMEM (used synonymously).
-c coresize
Maximum size of a core file (in bytes). Resource parameter
RLIMIT_CORE. An argument of 0 will suppress core files.
-d databytes
Maximum data segment (in bytes). Resource parameter
RLIMIT_DATA.
-f filesize
Maximum size for any file that may be created (in bytes).
Resource parameter RLIMIT_FSIZE.
-l lockbytes
Maximum memory that may be locked by mlock(2) (in bytes).
Resource parameter RLIMIT_MEMLOCK.
-m bytes
Combines the options -a -d -l and -s (in bytes).
-o files
Maximum number of open files (in number of files). Resource
parameter RLIMIT_NOFILE.
-p processes
Maximum number of processes per uid (in number of processes).
Resource parameter RLIMIT_NPROC.
-r rssbytes
Maximum resident memory (in bytes). Resource parameter
RLIMIT_RSS.
-s stackbytes
Maximum stack size (in bytes). Resource parameter RLIMIT_STACK.
-t secs Maximum CPU time per process (in seconds). Resource
parameter RLIMIT_CPU.
runlimit also provides the following standard runtools_intro(8)
options:
-h Help. Print a brief usage message to stderr and exit.
-V Version. Print the version number to stderr and exit.
EXIT STATUS
runlimit exits with one of the following values:
0 program was invoked and completed successfully. In this case,
the exit code is returned by the program, rather than by run-
limit itself.
100 runlimit failed because of a usage error, such as an invalid
command-line option or argument. In this case, runlimit prints
a brief error message and usage help to stderr on exit.
111 runlimit failed due to some system or resource error. In this
case, runlimit prints a brief diagnostic message to stderr on
exit.
1-127 program was invoked and failed with its own non-zero exit sta-
tus.
CAVEATS
Not all resource limits are supported on all platforms.
(The source distribution includes a catlimits(8) utility that will show
the current resource limits, indicating any that are not supported on
the host platform.)
AUTHOR
Wayne Marshall, http://b0llix.net/perp/
SEE ALSO
setrlimit(2), runtools_intro(8), runargs(8), runargv0(8), runchoom(8),
rundetach(8), rundeux(8), runenv(8), runfile(8), runlock(8),
runpause(8), runsession(8), runtool(8), runtrap(8), runuid(8)
runtools-2.07 January 2013 runlimit(8)