sac(1M) UNIX System V(Essential Utilities) sac(1M)
NAME
sac - service access controller
SYNOPSIS
sac -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 [fork(2)] and creates a utmp entry with
the type field set to LOGINPROCESS. 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.
(See sacadm; this is the command given with the -c option when the port
monitor is added to the system.)
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.
When queried (sacadm with either -l or -L), the Service Access Controller
returns the status of the port monitors specified, which sacadm prints on
the standard output. A port monitor may be in one of six states:
ENABLED The port monitor is currently running and is accepting
connections. See sacadm(1M) with the -e option.
DISABLED The port monitor is currently running and is not accepting
connections. See sacadm with the -d option, and see
NOTRUNNING, below.
STARTING The port monitor is in the process of starting up. STARTING is
an intermediate state on the way to ENABLED or DISABLED.
10/89 Page 1
sac(1M) UNIX System V(Essential Utilities) sac(1M)
FAILED The port monitor was unable to start and remain running.
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. (See sacadm with
-k.) 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 removes 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 by sacadm; this information is included in
/etc/saf/pmtag/sactab
- the number of times the port monitor has already been restarted
SEE ALSO
sacadm(1M), pmadm(1M).
FILES
/etc/saf/sactab
/etc/saf/sysconfig
/var/adm/utmp
/var/saf/log
Page 2 10/89