|
NAMEruntools_intro - overview of the runtools utilitiesDESCRIPTIONThe runtools package provides a set of utilities for configuring and constraining the process execution environment of other programs. Most of the utilities exec into the process environment they create. That is, they are designed to replace themselves with some other program. A few of the utilities act as lightweight supervisors, remaining resident themselves while monitoring some other process or processes. The runtools utilities include:
EXEC CHAINSThe runtools utilities are designed primarily for use within the runscripts of service supervisors, such as perpd(8) and daemontools. In this case, they will normally be used to define and constrain such things as resources, privileges, environmental variables, file descriptors, etc. They may be used to provide carefully regulated execution environments for long-running programs, for security and resource optimization.Most of the utilities in the runtools package are very small programs designed to do one simple thing. Because the effects of multiple runtools are often required, it is customary to use whatever runtools are needed in an ``exec chain''. An exec chain is a sequence of runtools commands, one calling another, often in a specific order, with the final command execing into the actual program intended. The following perpetrate(5) snippet shows an example in sh(1) syntax: if test ${1} = 'start' ; then exec runenv -i ./envfile \ runlimit -c 0 -f 2000000 -m 30000000 \ runuid fooman \ /usr/sbin/foo -f fi In the example above, the program /usr/sbin/foo is ultimately desired as the long-running process. An exec chain is used to:
Each of the runtools programs execs into the next, until finally the runuid(8) utility execs into /usr/sbin/foo. EXIT STATUSThe runtools that exec themselves into another program will exit with the following values:
AUTHORWayne Marshall, http://b0llix.net/perp/SEE ALSOrunargs(8), runargv0(8), runchoom(8), rundetach(8), rundeux(8), runenv(8), runfile(8), runlimit(8), runlock(8), runpause(8), runsession(8), runtool(8), runtrap(8), runuid(8), perp_intro(8), perpd(8), perpetrate(5)
Visit the GSP FreeBSD Man Page Interface. |