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)