sac(1M)sac(1M)NAMEsac - service access controller
SYNOPSISsac-t sanity_interval
DESCRIPTION
The Service Access Controller (SAC) is the overseer of the server
machine. It is started when the server machine enters multiuser mode.
The SAC performs several important functions as explained below.
Customizing the SAC environment. When sac is invoked, it first looks for
the per-system configuration script /etc/saf/_sysconfig. sac interprets
_sysconfig to customize its own environment. The modifications made to
the SAC environment by _sysconfig are inherited by all the children of
the SAC. This inherited environment may be modified by the children.
Starting port monitors. After it has interpreted the _sysconfig file,
the sac reads its administrative file /etc/saf/_sactab. _sactab
specifies which port monitors are to be started. For each port monitor
to be started, sac forks a child and creates a utmp entry with the type
field set to LOGIN_PROCESS. Each child then interprets its per-port
monitor configuration script /etc/saf/pmtag/_config, if the file exists.
These modifications to the environment affect the port monitor and will
be inherited by all its children. Finally, the child process execs the
port monitor, using the command found in the _sactab entry.
Polling port monitors to detect failure. The -t option sets the
frequency with which sac polls the port monitors on the system. This
time may also be thought of as half of the maximum latency required to
detect that a port monitor has failed and that recovery action is
necessary.
Administrative functions. The Service Access Controller represents the
administrative point of control for port monitors. Its administrative
tasks are explained below.
A port monitor may be in one of six states:
ENABLED The port monitor is currently running and is accepting
connections.
DISABLED The port monitor is currently running and is not accepting
connections.
STARTING The port monitor is in the process of starting up. STARTING is
an intermediate state on the way to ENABLED or DISABLED.
FAILED The port monitor was unable to start and remain running.
Page 1
sac(1M)sac(1M)
STOPPING The port monitor has been manually terminated but has not
completed its shutdown procedure. STOPPING is an intermediate
state on the way to NOTRUNNING.
NOTRUNNING
The port monitor is not currently running. This is the normal
``not running'' state. When a port monitor is killed, all
ports it was monitoring are inaccessible. It is not possible
for an external user to tell whether a port is not being
monitored or the system is down. If the port monitor is not
killed but is in the DISABLED state, it may be possible
(depending on the port monitor being used) to write a message
on the inaccessible port telling the user who is trying to
access the port that it is disabled. This is the advantage of
having a DISABLED state as well as the NOTRUNNING state.
When a port monitor terminates, the SAC frees the utmp entry for that
port monitor.
The SAC receives all requests to enable, disable, start, or stop port
monitors and takes the appropriate action.
The SAC is responsible for restarting port monitors that terminate.
Whether or not the SAC will restart a given port monitor depends on two
things:
- the restart count specified for the port monitor when the port
monitor was added.
- the number of times the port monitor has already been restarted
FILES
/etc/saf/_sactab
/etc/saf/_sysconfig
/var/adm/utmp
/var/saf/_log
Page 2