perp_intro(8)

NAME
perp_intro - introduction to the perp service management framework

SYNOPSIS
/etc/perp

DESCRIPTION

  Purpose
The perp service management framework provides a set of daemons and utilities to start, monitor, log, and control a collection of persistent processes. This document provides a basic overview of the system. Further details may be found in the manual pages as referenced.

  Terms

``persistent process''
    Any long-running program, normally intended to start at system boot and continue running until system shutdown. Also known and often described as a ``service''. A persistent process will normally provide some essential system service on-demand. Programs that service email, domain name queries, and http requests are examples of services that are normally run as persistent processes.

``service definition''
    A service definition is the set of perpetrate(5) runscripts and associated files that tell the perpd(8) program how to start, run, and optionally log a service. The base directory for a collection of service definitions is normally /etc/perp. The service definition for a particular service ``foo'' will then be installed in the service definition directory /etc/perp/foo.

``service activation''
    A service definition may be installed and configured as summarized above, but does not become operative until it is specifically activated. An activated service is then recognized by the perpd(8) scanner. Service activation is controlled by setting the sticky(7) bit on the service definition directory. Setting the sticky bit activates the service, unsetting the sticky bit deactivates the service. The sticky bit is manipulated on the command line with the chmod(1) utility, or with the A and X commands to the perpctl(8) utility.

``process supervisor''
    Some program, itself a persistent process, that starts and monitors another program to ensure its persistency.

  Daemon Programs

perpd(8)
    the principal daemon of a perp installation: service directory scanner, process supervisor, and service controller; normally operating on the service installation directory /etc/perp

perpboot(8)
    recommended utility for starting perpd(8)

  Control Programs

perp-setup(8)
    one-time post-installation configurator for initializing a perp system

perpctl(8)
    administrative utility for runtime control of perpd(8)

perphup(8)
    rescan trigger utility for perpd(8)

  Query Programs

perpls(8)
    perp service lister

perpstat(8)
    perp status reporter

perpok(8)
    perp service checker

  Logging Programs

sissylog(8)
    log stdin to syslog(3)

tinylog(8)
    log stdin to directory of rotated logfiles

FILES
The service installation directory /etc/perp will have the following layout:

/etc/perp
    base directory for service installation, monitored by perpd(8)

/etc/perp/.boot
    configuration directory used by perpboot(8) to start perpd(8)

/etc/perp/.control [--> /var/run/perp ]
    runtime control directory for the /etc/perp installation directory; normally a symlink to /var/run/perp

/etc/perp/foo
    perpetrate(5) definition directory for some service ``foo'' under supervision of perpd(8)

/etc/perp/foo/rc.log
    perpetrate(5) optional runscript for starting/resetting a logger for service ``foo''

/etc/perp/foo/rc.main
    perpetrate(5) required runscript for starting/resetting the service ``foo''

AUTHOR
Wayne Marshall, http://b0llix.net/perp/

SEE ALSO
perp-setup(8), perpboot(8), perpctl(8), perpd(8), perpetrate(5), perphup(8), perpls(8), perpok(8), perpstat(8), sissylog(8), tinylog(8)