sac(1M) sac(1M)
NAME
sac - service access controller
SYNOPSIS
sac -t sanityinterval
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 checks whether the per-system confi-
guration script /etc/saf/sysconfig exists [see doconfig(3C)]. sac
interprets sysconfig to customize its own environment. The modifi-
cations 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 [see 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(1M); 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 mon-
itors 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 Con-
troller 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:
Page 1 Reliant UNIX 5.44 Printed 11/98
sac(1M) sac(1M)
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.
FAILED The port monitor was unable to start and remain run-
ning.
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(1M) 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 moni-
tored 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 mon-
itor was added by sacadm; this information is included in
/etc/saf/pmtag/sactab;
- the number of times the port monitor has already been restarted.
Page 2 Reliant UNIX 5.44 Printed 11/98
sac(1M) sac(1M)
FILES
/etc/saf/sactab
/etc/saf/sysconfig
/var/saf/log
/var/adm/utmp
SEE ALSO
pmadm(1M), sacadm(1M), doconfig(3C).
Page 3 Reliant UNIX 5.44 Printed 11/98